0
我使用openCV的cvMatchTemplate方法在較大的圖像中查找較小的圖像。下面的\方法將現有的模式對象與給定的「當前」圖像進行匹配,找到的模式由當前圖像上繪製的矩形標記。當模式可見時,它可以可靠地找到它,當它不是繪製在某處時「隨機」這是有道理的。cvMatchTemplate得分
我無法計算模板匹配的分數。有一個容易確定嗎?我正在尋找各種網站,但無法找到解決方案,並一直在尋找由cvMinMaxLoc計算出的值,但無法找到確定匹配質量的方法。
- (void)detect:(IplImage *)current
{
int patchx = pattern->width;
int patchy = pattern->height;
int iwidth = current->width - patchx + 1;
int iheight = current->height - patchy + 1;
IplImage *result=cvCreateImage(cvSize(iwidth,iheight),IPL_DEPTH_32F, 1);
cvMatchTemplate(current, pattern, result, CV_TM_SQDIFF );
CvPoint minloc, maxloc;
double minval, maxval;
cvMinMaxLoc(result, &minval, &maxval, &minloc, &maxloc, 0);
/* draw red rectangle */
cvRectangle(current,
cvPoint(minloc.x, minloc.y),
cvPoint(minloc.x + patchx, minloc.y + patchy),
cvScalar(0, 255, 0, 0), 1, 0, 0);
}
謝謝,只是讓代碼更加完整以供參考。 cvMatchTemplate(current,pattern,result,CV_TM_SQDIFF); CvPoint minloc,maxloc; double minval,maxval; cvMinMaxLoc(result,&minval,&maxval,&minloc,&maxloc,0); if(minval
2012-01-04 13:48:30