OpenCV学习之6: 使用方向梯度直方图估计图像旋转角度
OpenCV学习之六: 使用方向梯度直方图估计图像旋转角度
下面的代码通过计算图像中给定区域的方向梯度直方图来估计图像的旋转角度
主要内容包括:
一、计算局部图像块方向梯度直方图的函数
二、把给定图像按照给定的角度旋转
三、如何利用旋转后的图像的方向梯度直方图和原图像的方向梯度直方图来估计旋转角度
四、绘制方向梯度直方图
计算效果如下次:
主要代码如下:
绕图像中心点顺时针旋转30度缩放因子为1的估计结果:
从上图看出,顺时针旋转奶茶妹妹后,方向梯度直方图整体向左移动了一定距离
真实的旋转角度为 -30度,估计的旋转角度为 -24度,误差6度正好是直方图的bin的宽度
绕图像中心点逆时针旋转30度缩放因子为1的估计结果:
从上图看出,逆时针旋转奶茶妹妹后,方向梯度直方图整体向右移动了一定距离
真实旋转角度为30度,估计的旋转角度也为30度