前言
- 在OpenCV中有个用于模板匹配的基本函数matchTemplate(),该函数使用某模板在搜索图像中进行搜索时,只能搜索到和模板完全一样的地方,一旦在搜索图像中要搜索的区域相较于模板是旋转了、放大缩小了或者部分遮掩了就无法匹配到结果了,实际项目应用不太友好.
- 本文主要介绍从开源项目中,试验比较好的项目,共同学习.
一、Fastest_Image_Pattern_Matching(推荐)
-
github :https://github.com/DennisLiu1993/Fastest_Image_Pattern_Matching
-
介绍:此算法是基于Normalized Cross Correlation实现的算法,在不是太复杂的的环境下可以有效地替代ShapeBasedMatching,内部也不难理解,有SIMD加速,性能能够跟上商用函示库的相同算法,只是把OpenCV用到极限,花几天就能读透.
-
实际使用效果图:
-
总结:
—-优点:开源,含SIMD加速与亚像素精度,与haclon形状匹配做过对比,角度与位置精度相差不大.
—-缺点:不支持多尺度匹配,匹配速度与halcon还是存在很大差距(同一台电脑上运行,该项目95ms,halcon 4.6ms),但感觉一般项目,时间上还是可以接受.
- Exe测试Demo连接:
- Csdn: https://download.csdn.net/download/qiangpi6057/87362834
- Windows C++运行环境安装文件:https://download.csdn.net/download/qiangpi6057/87376788
二、shape_based_matching
-
介绍:尝试实现基于halcon形状的匹配,请参阅halcon工程师编写的《机器视觉算法和应用》,第317 3.11.5页详见知乎
-
Demo效果图:
-
总结:
—-优点:开源,具备多目标,多角度,多尺度模板匹配功能。
—-缺点:匹配位置精度和角度与halcon相差较大,且存在同一目标匹配多次的问题,需要进一步去重等优化。 -
Exe测试Demo连接:
-
csdn:https://download.csdn.net/download/qiangpi6057/87362828
-
Windows C++运行环境安装文件:https://download.csdn.net/download/qiangpi6057/87376788
-
源码 VS2022/C++
-
csdn:https://download.csdn.net/download/qiangpi6057/87364521
三、更多开源资料详见博客
https://blog.csdn.net/libaineu2004/article/details/103026348-使用OpenCV实现Halcon算法(2)形状匹配开源项目,shape_based_matching
文章出处登录后可见!