带微小缩放和旋转的模板匹配

问题提出:

OpenCV并不像Halcon一样提供带有旋转和缩放的的模板匹配。本文对带旋转和缩放的模板匹配问题进行限定,只针对的目标缩放范围为95%到105%,旋转角度为-5度到5度的情况,尝试用opencv解决。

问题分析:

带有旋转和缩放,首先想到使用外轮廓进行Hu矩匹配,然后根据外轮廓周长比例和面积开方的比例确定缩放系数,根据轮廓最小包围旋转矩形的角度差确定旋转角度。这个思路要求目标外轮廓不能对称,比如圆,正方形,长方形这些,同时最小包围矩形也不能是长宽比较接近的长方形甚至正方形,否则无法确定旋转角度(或者多个可能角度一一使用灰度匹配去判断)。但是本文有个限制条件,缩放比例和旋转角度较小。所以另一个思路是搜索的方法,只要找到一个好的的搜索策略,那么算法的时间也是可以接受的。

实现效果

如下图所示,左边是模板,右边是待匹配的目标,有4度的旋转。
带微小缩放和旋转的模板匹配_第1张图片
左边是带旋转和污损的目标,右边是匹配结果(叠加模板后找到污损区域)。
在这里插入图片描述

思路一:Hu矩

使用Hu矩由于限制较多,不能对实现效果中的图进行处理,因此使用如下模板

20200402095500356.png

要从如下图中找出

20200402095505793.png

代码实现:

你可能感兴趣的:(opencv,算法实现)