C++ - Opencv应用实例之仿射变换实现工件角度校正
-
最近遇到了一个仿射变换应用的问题,于是花时间又研究了一下,总结一下几点吧
-
- 图像变换前的边缘填充
-
- 获取仿射变换矩阵时的旋转中心设置
-
- 变换后的目标区域提取
-
- 最终目标位置角度校准
-
-
关于仿射变换相关API可以参考我的另一篇专栏:图像变换之旋转、仿射变换、透视变换及Opencv接口介绍
-
本文主要通过C++、Opencv实现工件的角度校正,主要应用算法:
图像预处理 -> 阈值分割 -> 形态学处理 -> 单个工件区域检测 -> 角度校准 -> 提取最终目标结果
,实现效果如下:
1.图像处理算法
图像处理算法主要是对原图的一些前处理,以便对单个工件进行定位:
- 灰度化
- 二值化
- 膨胀
- 边缘检测
- 外接矩形(最小、最大)