Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用matchTemplate解释结果_Java_Opencv_Matchtemplate - Fatal编程技术网

Java 使用matchTemplate解释结果

Java 使用matchTemplate解释结果,java,opencv,matchtemplate,Java,Opencv,Matchtemplate,我正在尝试使用以下matchTemplate代码匹配2个图像 int match_method = Imgproc.TM_CCOEFF_NORMED; int result_colsAB = matB.cols() - matA.cols() + 1; int result_rowsAB = matB.rows() - matA.rows() + 1; Mat re

我正在尝试使用以下matchTemplate代码匹配2个图像

                int match_method = Imgproc.TM_CCOEFF_NORMED;
                int result_colsAB = matB.cols() - matA.cols() + 1;
                int result_rowsAB = matB.rows() - matA.rows() + 1;


                Mat resultAB = new Mat(result_rowsAB, result_colsAB, CvType.CV_8UC1);


                Imgproc.matchTemplate(matA, matB, resultAB,match_method);

                //Core.normalize(resultAB, resultAB, 0.0, 1.0, Core.NORM_MINMAX, -1, new Mat());
                 MinMaxLocResult mmr = Core.minMaxLoc(resultAB);
                System.out.println( mmr.maxVal);
当按预期比较2个填充圆时,它给出了预期的.99

但当比较几乎相同大小的填充圆和填充正方形时,它给出了1.0


我做错了什么?图像是黑白的。

一个完美的匹配应该显示为.9999999

如果您得到的是1.0,那么您要么正在对值进行规范化,之后的值看起来与您不一样

或者发生了别的事情

您可能需要确保您的大小是正确的搜索模板、结果矩阵等


我真的不认为你应该得到返回的1.0,因为我已经用一个完美的匹配测试了这个,我的结果是.9999….

你期望什么?它不应该给出1.0…至少比.99少一些。这是比较完全相同的图像时的结果。我怀疑这个说法的正确性。好的,matchTemplate做了一个关联,关联的结果将具有最大的值,其中区域匹配最多。很有可能另一个区域会有更好匹配的外观。好的。这是有道理的。我最初认为它会返回最匹配的img…谢谢!你的圆圈适合正方形吗?此外,您应该尝试使用不同的方程式