0
我有一個程序,應該做的圖像和模板的模板匹配,這裏是代碼:缺少Scope變量OpenCV的C++
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;
}
包括文件:
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include "stdio.h"
using namespace cv;
using namespace std;
當我運行代碼,我得到這個錯誤:
templateMatching.cpp:16:75: error: ‘cvMatchTemplate’ was not declared in this scope
任何想法是什麼問題是?在此先感謝,馬特
請還包括您所使用的'#include'指令。作爲錯誤說, –
,問題是功能沒有聲明。您可能會缺少包含文件。 –
這是其中的:#include 「opencv2/highgui/highgui.hpp」 的#include 「opencv2/imgproc/imgproc.hpp」 的#include 的#include 「stdio.h中」 使用的命名空間CV ; using namespace std; –
MattTheHack