我有这样的代码:
Mat img = Highgui.imread(inFile);
Mat templ = Highgui.imread(templateFile);
int result_cols = img.cols() - templ.cols() + 1;
int result_rows = img.rows() - templ.rows() + 1;
Mat result = new Mat(result_rows, result_cols, CvType.CV_32FC1);
Imgproc.matchTemplate(img, templ, result, Imgproc.TM_CCOEFF);
/////Core.normalize(result, result, 0, 1, Core.NORM_MINMAX, -1, new Mat());
for (int i = 0; i < result_rows; i++)
for (int j = 0; j < result_cols; j++)
if(result.get(i, j)[0]>?)
//match!
我需要解析输入图像以查找模板图像的多次出现。我想要这样的结果:
result[0][0]= 15%
result[0][1]= 17%
result[x][y]= 47%
如果我使用 TM_COEFF 所有结果都是 [-xxxxxxxx.xxx,+xxxxxxxx.xxx]
如果我使用 TM_SQDIFF 所有结果都是 xxxxxxxx.xxx
如果我使用 TM_CCORR 所有结果都是 xxxxxxxx.xxx
如何检测匹配或不匹配?if 的正确条件是什么?如果我对矩阵进行归一化,应用程序将值设置为 1,并且我无法检测模板是否未存储到图像中(所有不匹配)。
提前致谢