目录
系统环境 Windows 10 64 位 + OpenCV 3.4.1 64 位
1、常见图像旋转矫正方法
常见的图像旋转矫正方式有:基于图像边缘轮廓的旋转矫正和基于傅里叶变换以及霍夫直线检测的旋转矫正两种方法。
1.1 基于图像边缘轮廓的旋转矫正
1)图像灰度化
2)阈值二值化
3)检测轮廓
4)提取轮廓的包围矩阵(图像前景掩膜)
5)通过提取的包围矩阵获取偏转角度
6)利用仿射变换对图像进行偏转
具体实现参考:OpenCV探索之路(十六):图像矫正技术深入探讨
1.2 基于傅里叶变换以及霍夫直线检测的旋转矫正
1)利用DTF变换计算图像的频谱图
2)频谱中心移动
3)对移动后的频谱图进行二值分割
4)利用霍夫直线检测计算图像倾斜角度
5)利用仿射变换对图像进行旋转矫正
具体实现参考:OpenCV实现基于傅里叶变换的旋转文本校正
傅里叶变换的原理解析参考:傅里叶分析之掐死教程(完整版)和OpenCV图像的傅里叶变换-(补番)
2、基于Hu距图像旋转矫正
除了以上两种方式可以实现图像旋转矫正外,还可以利用 Hu 距旋转不变性对图像进行旋转矫正。
2.1 Hu旋转不变性
图片经过任意角度旋转、任意比例缩放Hu矩都保持不变,即图像Hu 矩的平移、旋转不变性。Hu旋转不变性详情参考:图像不变性特征—hu矩、图像特征_图像矩(Hu矩)。七个不变矩由二阶和三阶中心矩的线性组合构成,具体表达式如下:
在实际应用中,在对图片中物体进行处理时,只有 M1 和 M2 体现良好的不变性,其余的几个不变矩产生的误差比较大。因此,认为只有基于