文章目录

  • 前言
  • 一、Fastest_Image_Pattern_Matching(推荐)
  • 二、shape_based_matching
  • 三、更多开源资料详见博客

前言

  • 在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

  • github :https://github.com/meiqua/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