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;  
    }  

  • 相关阅读:
    P7473 [NOI Online 2021 入门组] 重力球
    CF896D Nephren Runs a Cinema
    [持续更新]一些有趣的数学问题
    [微积分与无穷级数]AMM Problems笔记
    [补题]SWERC-2018
    [补题]Asia Regional Contest, Tokyo, 2014

    [NOI2005]瑰丽华尔兹-单调队列优化DP
    [补题]2017多校D-BD-区间筛/二分+线段树
    [补题]2017多校5A/HDU6085-Rikka with Candies-bitset优化
  • 原文地址:https://www.cnblogs.com/luoyinjie/p/7219331.html
Copyright © 2011-2022 走看看