zoukankan      html  css  js  c++  java
  • opencv 单目标模板匹配(只适用于模板与目标尺度相同)

    #include <iostream>  
    #include "opencv/cv.h"  
    #include "opencv/cxcore.h"  
    #include "opencv/highgui.h"  
    using namespace std;  
    
    
    #pragma comment ( lib,"opencv_highgui244.lib" )
    #pragma comment ( lib,"opencv_core244.lib" )
    #pragma comment ( lib,"opencv_imgproc244.lib" )
    
    
    
    
    int main()  
    {  
        IplImage *src = cvLoadImage("src.jpg", 0);  
        IplImage *srcResult = cvLoadImage("src.jpg", 3);  //用来显示  
        IplImage *templat = cvLoadImage("template1.png", 0);  
        IplImage *result;  
        if(!src || !templat)  
        {  
            cout << "打开图像失败"<< endl;  
            return 0;  
        }  
        int srcW, srcH, templatW, templatH, resultH, resultW;  
        srcW = src->width;  
        srcH = src->height;  
        templatW = templat->width;  
        templatH = templat->height;  
        if(srcW < templatW || srcH < templatH)  
        {  
            cout <<"原图不能比模板小" << endl;  
            return 0;  
        }  
        resultW = srcW - templatW + 1;  
        resultH = srcH - templatH + 1;  
        result = cvCreateImage(cvSize(resultW, resultH), 32, 1);   
    
    
    	//the 3rd parameter 
        cvMatchTemplate(src, templat, result, CV_TM_SQDIFF);     
        double minValue, maxValue;  
        CvPoint minLoc, maxLoc;  
        cvMinMaxLoc(result, &minValue, &maxValue, &minLoc, &maxLoc);    
        cvRectangle(srcResult, minLoc, cvPoint(minLoc.x + templatW, minLoc.y+ templatH), cvScalar(0,0,255));  
        cvNamedWindow("srcResult", 0);  
        cvNamedWindow("templat", 0);  
        cvShowImage("srcResult", srcResult);  
        cvShowImage("templat", templat);  
        cvWaitKey(0);  
        cvReleaseImage(&result);  
        cvReleaseImage(&templat);  
        cvReleaseImage(&srcResult);  
        cvReleaseImage(&src);  
        return 0;  
    }  

  • 相关阅读:
    Linux----硬连接和软连接
    C4.5算法
    浅谈机器学习方法
    ID3算法(决策树)
    修改mysql数据库 允许远程访问
    CentOS 7安装Samba 4.6 版本步骤及错误解决方法
    CentOS安装mysql
    eclipse 安装lombok插件
    电脑忘记密码,破解方式
    mysql常用的信息查询函数
  • 原文地址:https://www.cnblogs.com/luoyinjie/p/7219331.html
Copyright © 2011-2022 走看看