什么是OpenCV模板匹配Max Min值范围?需要用作theshold / c / ja
发布时间:2020-12-16 05:26:55 所属栏目:百科 来源:网络整理
导读:我正在使用模板匹配创建一个简单的openCV应用程序,我需要比较在大图像中查找小图像并返回结果为true(如果匹配找到)或false(未找到匹配项). Imgproc.matchTemplate(largeImage,smallImage,result,matchMethod); Core.normalize(result,1,Core.NORM_MINMAX,-1,
我正在使用模板匹配创建一个简单的openCV应用程序,我需要比较在大图像中查找小图像并返回结果为true(如果匹配找到)或false(未找到匹配项).
Imgproc.matchTemplate(largeImage,smallImage,result,matchMethod); Core.normalize(result,1,Core.NORM_MINMAX,-1,new Mat()); MinMaxLocResult mmr = Core.minMaxLoc(result); double minMaxValue = 1; if (matchMethod== Imgproc.TM_SQDIFF || matchMethod== Imgproc.TM_SQDIFF_NORMED) { minMaxValue = mmr.minVal; useMinThreshold = true; } else { minMaxValue = mmr.maxVal; } 现在的问题是使用这个minMaxValue做出决定(真/假).我知道上面两种方法TM_SQDIFF和TM_SQDIFF_NORMED返回低值,而其他方法返回高值,所以我可以有2个不同的阈值并比较一个阈值(取决于模板方法类型). 因此,如果有人可以解释MinMaxLocResult返回的minVal和maxVal范围是多么好. 它是0到1范围? 如果是,对于Max类型模板方法,值1是否完美匹配? 解决方法
MinMaxLocResult不返回minVal和maxVal范围. minVal和maxVal只是最小和最大匹配分数,可以在
link中看到.
结构MinMaxLocResult还有minLoc和maxLoc属性,它们是Point类型,给出匹配的位置.鉴于您使用TM_SQDIFF或TM_SQDIFF_NORMED作为匹配条件,最佳匹配位置将为mmr.minLoc. 为了设置检测阈值,您可以声明一个variabledouble thresholdMatch并通过实验设置其值.如果minVal< thresholdMatch然后可以说检测到目标对象 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 帮我理解“LINQ to Entities只支持转换Entity Data M
- 俯瞰 cocos2d-x 02 创建精灵
- 云计算如何影响NoSQL数据库的发展
- Swift:如何查看XCode监视窗口中显示的变量值?
- AJAX = Asynchronous JavaScript and XML(异步的 JavaScri
- c – 具有Boost的Node-gyp包含和库目录
- ArcGIS Flex API 调用天地图和Google地图服务
- c# – 如何控制.Net在名称空间冲突中选择哪个程序集?
- sqlite入门基础(二):sqlite3_get_table,sqlite3_free_tabl
- ARM芯片选型的一些建议