分享一个仿Halcon的高性能形状模板匹配作品(基于Qt/OpenCV/SIMD指令集优化)

声明:本文非原创,转载自朋友(QQ:66557370)的博文。

https://blog.csdn.net/manuoo/article/details/131432061

exe体验地址:

https://github.com/mwwzbinf/mwwz-shape-match/releases

参照halcon中的create_shape_model_xld算子,自己写了一个基于几何图形创建模板的函数,目前只支持圆形和矩形,圆形需要指定半径,矩形需要指定长宽。与从图像创建模板不同,特征点不能在图像中直接提取得到,而是需要从上一层金字塔下采样得到,方法也很简单,直接选择偶数行列的特征点即可。

圆形模板创建及匹配

矩形模板创建及匹配

        在实际应用中矩形会在行、列方向呈现不同的缩放尺度,圆形也会变成椭圆,所以需要将行方向和列方向的缩放尺度单独求出来,这也是halcon中的find_aniso_shape_model算子,俗称各向异性模板匹配,实现起来也不难,在find_scaled_shape_model的基础上改一下,执行效果如下。

        可见匹配效果很不错,这对于识别圆形、椭圆、矩形这些常见形状是很有用的。由于要分别求出行、列方向的缩放尺度,相比各向同性多出一个维度,匹配时间有所增加。后续我会考虑如何加速,以及加入更多的几何图形(或者是它们的组合),如果大家有什么好建议和其他需求,欢迎私信我。

---

参考文献

SIMD(单指令流多数据流)文章收录 - 知乎

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

猜你喜欢

转载自blog.csdn.net/libaineu2004/article/details/131515352
今日推荐