C++ 缺少范围变量OpenCV c++;
我有一个程序,应该在图像和模板上进行模板匹配,下面是代码:C++ 缺少范围变量OpenCV c++;,c++,opencv,template-matching,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
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;
知道问题出在哪里吗?提前感谢,Matt您需要包括
#include "opencv2/imgproc/imgproc_c.h"
你需要包括
#include "opencv2/imgproc/imgproc_c.h"
还请包括您使用的
#include
指令。正如错误所述,问题是函数没有声明。您可能缺少包含文件。这是它们:#包含“opencv2/highgui/highgui.hpp”#包含“opencv2/imgproc/imgproc.hpp”#包含#使用命名空间cv包含“stdio.h”;使用名称空间std;在CVI中定义了CVMatHeT模板。HI发现C++接口非常好,易于使用和一致。请还包括<代码> >包含< /Cord>指令。您可能缺少包含文件。这是它们:#包含“opencv2/highgui/highgui.hpp”#包含“opencv2/imgproc/imgproc.hpp”#包含#使用命名空间cv包含“stdio.h”;使用名称空间std;CVMatHeT模板是在CVI中定义的。HI发现C++接口真的很棒,易于使用和一致。