📄 main.cpp
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
#include "cv.h"
#include "highgui.h"
int main()
{
char name[256];
FILE* fp = fopen("match_result.txt","w");
IplImage* image;
IplImage* match;
IplImage* templ = cvLoadImage("1.jpg",0);
int TEMPL_WIDTH = templ->width;
int TEMPL_HEIGHT = templ->height;
int i;
for(i=1;i<100;i++)
{
sprintf(name,"data\\%04d.jpg",i);
image = cvLoadImage(name,0);
int IMAGE_WIDTH = image->width;
int IMAGE_HEIGHT = image->height;
int RESULT_WIDTH = IMAGE_WIDTH - TEMPL_WIDTH + 1; // result's dimensions must be computed this way
int RESULT_HEIGHT = IMAGE_HEIGHT - TEMPL_HEIGHT + 1;
match = cvCreateImage(cvSize(RESULT_WIDTH,RESULT_HEIGHT), IPL_DEPTH_32F, 1);
// perform NCC and find max point of result
cvMatchTemplate( image, templ, match, CV_TM_CCOEFF_NORMED );
double minVal, maxVal;
CvPoint minLoc, maxLoc;
cvMinMaxLoc(match, &minVal, &maxVal, &minLoc, &maxLoc, NULL);
fprintf(fp,"%d %d\n",maxLoc.x,maxLoc.y);
cvCircle(match,maxLoc,1,CV_RGB(0,255,0), 3, 8, 0 );
cvNamedWindow("result",1);
cvShowImage("result",match);
cvWaitKey(1);
}
cvReleaseImage(&image);
cvReleaseImage(&templ);
cvReleaseImage(&match);
cvDestroyWindow("result");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -