CV中有通过几何距和Hu距的来进行的轮廓匹配.
我感受了下,效果不是很好。
首先了解下,一个轮廓给定后,不管放大缩小Hu距不会改变。
处理思路是:
1、 先将两张图片二值化(注意二值化后,背景要为黑色)
2、 提取两幅图的轮廓,一张图是全图轮廓,另一张只是提取最大的轮廓
3, 将提取轮廓分别计算几何距,再计算Hu距。
4、通过调用matchShapes 进行Hu距比较,这里比较有3中方式可以选择。
CONTOURS_MATCH_I1
CONTOURS_MATCH_I2
CONTOURS_MATCH_I3
我的代码地址:https://github.com/cyssmile/openCV_learning_notes/blob/master/opencv_test/opencv_031/opencv_031.cpp
我的实验效果:
这中间在A处有个匹配点,具体原因还不太确定。
可能原因有几点:
一、这幅图选择不合适
二、可能是将背景轮廓计算进去了
还有待观察
原文:https://www.cnblogs.com/cyssmile/p/12577398.html