cv::Mat
确实支持投资回报率。 (但它不支持 COI - 感兴趣的渠道。)
要应用投资回报率,您可以使用operator()
或特殊构造函数:
Mat refimgROI = faceIMGstore[1](faceROIstore[1]); //reference image ROI
Mat dispimgROI(faceIMGstore[52], faceROIstore[52]); // "displaced" version of reference image ROI
要找到移位图像内的最佳位置,您可以利用匹配模板功能。
根据您的评论,我可以建议以下代码,它将找到第二个(已移位的)补丁附近参考补丁的最佳位置:
Mat ref = faceIMGstore[1](faceROIstore[1]);
Mat disp = faceIMGstore[52](faceROIstore[52]);
disp = disp.adjustROI(5,5,5,5); //allow 5 pixel max adjustment in any direction
if(disp.cols < ref.cols || disp.rows < ref.rows)
return 0;
Mat map;
cv::matchTemplate( disp, ref, map, CV_TM_SQDIFF_NORMED );
Point minLoc;
cv::minMaxLoc( map, 0, &minLoc );
Mat adjusted = disp(Rect(minLoc.x, minLoc.y, ref.cols, ref.rows));