读书人

了解openCV的请进解决方法

发布时间: 2014-05-26 16:57:15 作者: rapoo

了解openCV的请进
本人使用openCV中的cvMatchTemplate进行匹配,已经实现的功能是如果在原始图片中存在要匹配的模板区域,就会在原始图像上把与模板相似的区域用方框框起来。目前遇到的问题是,如果原始图片根本不存在这样的模板区域的话还是会匹配出这么一个区域。
能不能设置一个阈值,如果匹配程度小于这个阈值,就表示原始图像中不存在这样的区域?希望高手能指点一下,提前感谢

[解决办法]
你得看看是误匹配还是什么其他原因,建议是调试一下。如果不是无匹配,那就是程序内部设定bug,自己改一下,让他不画框就好了。

不过,多数情况下应该是误匹配。
[解决办法]

C/C++ code
void cvMatchTemplate( const CvArr* image, const CvArr* templ,                      CvArr* result, int method );image 欲搜索的图像。它应该是单通道、8-比特或32-比特 浮点数图像 templ 搜索模板,不能大于输入图像,且与输入图像具有一样的数据类型 result 比较结果的映射图像。单通道、32-比特浮点数. 如果图像是 W×H 而 templ 是 w×h ,则 result 一定是 (W-w+1)×(H-h+1). method 指定匹配方法:
[解决办法]
我也在用OpenCV做模板匹配,也遇到你这样的问题,cvMatchTemplate匹配到的是最相似的,但是不是相同的,想要完全匹配,还得再做其他的处理,比如颜色的比较,形状,轮廓的比较等

读书人网 >VC/MFC

热点推荐