声明:本文非原创,转载自朋友(QQ:66557370)的博文。
https://blog.csdn.net/manuoo/article/details/131432061
exe体验地址:
https://github.com/mwwzbinf/mwwz-shape-match/releases
或者网盘:
https://pan.baidu.com/s/1G3Qk9wDZIrPeQOLxmaaU2w?pwd=aabb
参照halcon中的create_shape_model_xld算子,自己写了一个基于几何图形创建模板的函数,目前只支持圆形和矩形,圆形需要指定半径,矩形需要指定长宽。与从图像创建模板不同,特征点不能在图像中直接提取得到,而是需要从上一层金字塔下采样得到,方法也很简单,直接选择偶数行列的特征点即可。
圆形模板创建及匹配
矩形模板创建及匹配
在实际应用中矩形会在行、列方向呈现不同的缩放尺度,圆形也会变成椭圆,所以需要将行方向和列方向的缩放尺度单独求出来,这也是halcon中的find_aniso_shape_model算子,俗称各向异性模板匹配,实现起来也不难,在find_scaled_shape_model的基础上改一下,执行效果如下。
可见匹配效果很不错,这对于识别圆形、椭圆、矩形这些常见形状是很有用的。由于要分别求出行、列方向的缩放尺度,相比各向同性多出一个维度,匹配时间有所增加。后续我会考虑如何加速,以及加入更多的几何图形(或者是它们的组合),如果大家有什么好建议和其他需求,欢迎私信我。
---
原创作者的其它文章
基于形状的模板匹配之变形匹配—max_deformation
基于形状的模板匹配之候选点选择_模板匹配 顶层候选点怎么做_kitajimanu的博客-CSDN博客
参考文献
C++中使用SIMD的方法_c++ simd_9Kalikali的博客-CSDN博客
使用SIMD技术提高C++程序性能_lowtech的博客-CSDN博客
————————————————
声明:本文非原创,转载自朋友(QQ:66557370)的博文。
版权声明:本文为CSDN博主「kitajimanu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/manuoo/article/details/131432061