旋转文本矫正:
图像文本旋转通常在仿射变换时获取图像的倾斜角度,利用傅里叶变换中的时域与频域的变换关系,实现旋转文本的校正。
旋转文本的特征明显就是存在分行间隔,当文本图像旋转时,其频域中的频谱也会随之旋转。根据这一特征来计算文本图像的DFT变换,DFT变换的结果是低频位于边界四角,高频集中在中心区域,将低频和高频互换,实现中心的移动,进而可以看到文本图像的频谱有明显的倾斜直线,再通过计算倾斜直线的倾斜角度,利用仿射变换就可以完成旋转文本的图像矫正。
(1)录入一张图像:
前几步的处理和傅里叶变化一致,就是生成傅里叶频谱图。
(2)频域中心移动,傅里叶变化得到的低频部分在边缘角中,高频部分在图像中心,对于倾斜文本图像,我们关心的是图像中的低频部分,因此需要将其与高频部分互换中心。通常的做法是四等分,绕后进行互调。
(3)倾斜度检测。
只要检测出图像直线的倾斜角,就可以进行旋转文本,方法很多,采用Hough变化线检测方法进行直线倾斜角计算。首先进行二值化,然后根据huogh变换检测直线的步骤来完成图像中的直线检测,计算得到图像直线的角度;最后判断角度是否符合要求,对符合要求的线角度进行图像的角度转换。
Hough变换检测线:
HoughLines(InputArray image, OutputArray lines, double rho, double theta, int threshold,double srn=0,doublestn=0 )
lines:输出检测到的线的数量。theta=CV_PI/180;theshold:是阈值,只有大于这个阈值的线,才会被检测到。
rho:像素中的距离分辨率。
根据检测的线,绘制出线。
所用函数: