缺少范围变量OpenCV C ++

Mat*_*ack 0 c++ opencv template-matching

我有一个程序,应该在图像和模板上进行模板匹配,这是代码:

 int main()
{
   IplImage* imgOriginal = cvLoadImage("image.jpg", 0);
   IplImage* imgTemplate = cvLoadImage("template.jpg", 0);
   IplImage* imgResult = cvCreateImage(cvSize(imgOriginal->width-imgTemplate->width+1, imgOriginal->height-imgTemplate->height+1), IPL_DEPTH_32F, 1);
   cvZero(imgResult);
   cvMatchTemplate(imgOriginal, imgTemplate, imgResult, CV_TM_CCORR_NORMED);
   double min_val=0, max_val=0;
   CvPoint min_loc, max_loc;
   cvMinMaxLoc(imgResult, &min_val, &max_val, &min_loc, &max_loc);
   cvRectangle(imgOriginal, max_loc, cvPoint(max_loc.x+imgTemplate->width, max_loc.y+imgTemplate->height), cvScalar(0), 1);
   printf("%f", max_val);
   cvNamedWindow("result");
       cvShowImage("result", imgOriginal);
       cvWaitKey(0);
       return 0;
}
Run Code Online (Sandbox Code Playgroud)

包含文件:

    #include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

#include <iostream>
#include "stdio.h"

using namespace cv;
using namespace std;
Run Code Online (Sandbox Code Playgroud)

运行代码时,出现此错误:

templateMatching.cpp:16:75: error: ‘cvMatchTemplate’ was not declared in this scope
Run Code Online (Sandbox Code Playgroud)

知道是什么问题吗?预先感谢,马特

And*_*aev 6

您需要包括

#include "opencv2/imgproc/imgproc_c.h"
Run Code Online (Sandbox Code Playgroud)