Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.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 防止不正确的模板匹配OpenCV_Java_Opencv - Fatal编程技术网

Java 防止不正确的模板匹配OpenCV

Java 防止不正确的模板匹配OpenCV,java,opencv,Java,Opencv,我在一个项目中使用模板匹配来查找较大图像中子图像的所有位置。我正在使用OpenCV方法templateMatch()和floodFill()(Java)来实现这一点,它工作正常,但仅适用于包含子图像的较大图像 Imgproc.matchTemplate(image, subimage, result, Imgproc.TM_CCOEFF); 如果较大的图像不包含它,我会收到一个巨大的错误位置列表。我想要所有的位置(如果子图像存在于较大的图像中),但如果它不存在,则一个也不要。我该怎么做呢?如果

我在一个项目中使用模板匹配来查找较大图像中
子图像的所有位置。我正在使用
OpenCV
方法
templateMatch()
floodFill()
(Java)来实现这一点,它工作正常,但仅适用于包含
子图像的较大图像

Imgproc.matchTemplate(image, subimage, result, Imgproc.TM_CCOEFF);
如果较大的图像不包含它,我会收到一个巨大的错误位置列表。我想要所有的位置(如果子图像存在于较大的图像中),但如果它不存在,则一个也不要。我该怎么做呢?如果模板匹配不是正确的方法,那么我应该怎么做呢

顺便说一句,我的代码结构如下


非常感谢您的帮助

有一种方法可以尝试,我知道你提到的问题,无论如何,我找到了一个解决方案,那就是你可以对结果图像执行阈值操作,例如,当在
summage
的图像中找到任何匹配时,模板匹配,然后位置将显示为白色,当发现匹配良好时,颜色可以更白,因此您可以对图像进行阈值处理,以提取找到的良好位置,然后您可以执行查找轮廓或其他操作以获得轮廓位置。希望它能帮助你