主权项 |
一种扫描文档图像纠偏方法,包括下列步骤:1)对于输入的扫描文档,先转换成灰度图像为I;2)进行平滑滤波处理,处理结果用F表示;3)提取边缘点二值图E,方法如下:利用水平和垂直模板对F进行滤波处理,得到水平和垂直梯度强度图,分别用G<sub>H</sub>和G<sub>V</sub>,总的梯度强度图为G=|G<sub>H</sub>|+|G<sub>V</sub>|;计算G的最大值,用G<sub>max</sub>表示,使用下式得到边缘点二值图E:<img file="FDA0001011930330000011.GIF" wi="774" he="147" />4)借助投影分析计算扫描文档图像的倾斜角,定义扫描文档的倾斜角为文本行与水平线按顺时针方向的夹角,用<img file="FDA0001011930330000013.GIF" wi="35" he="39" />表示,使用以下算法检测倾斜角:第1步:初始化倾斜角度值θ和扫描图像总行数R,θ的初始值设为45°,在[‑45°,45°]之间逐渐调整θ;第2步:根据θ的取值,如果θ是正值,则将E图逆时针旋转θ;如果θ为负值,则将E图顺时针旋转‑θ,旋转结果用表示E<sub>θ</sub>;第3步:计算E<sub>θ</sub>各行在水平方向的投影值,用E<sub>θ</sub>(r),r=1,2,...,R,表示,其中r表示扫描文档图像的行号;第4步:计算E<sub>θ</sub>(r)的最大值,用E<sub>θ</sub>(max)表示,对于第r扫描行,如果满足E<sub>θ</sub>(r)>0.6×E<sub>θ</sub>(max),则将该行判为旋转角为θ的一个有效扫描行;第5步:计算旋转角θ对应的有效投影行总数,用N(θ)表示,使用N(θ)计算旋转角θ对应的能量函数P(θ),它定义为:<maths num="0001"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><mi>θ</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>N</mi><mrow><mo>(</mo><mi>θ</mi><mo>)</mo></mrow></mrow><mi>R</mi></mfrac></mrow>]]></math><img file="FDA0001011930330000012.GIF" wi="269" he="118" /></maths>第6步:判断是否满足θ=‑45°,如果满足,跳至第7步;否则,改变θ=θ‑1°,跳至第2步;第7步:计算P(θ)中的最大值,并确定该最大值所对应的角度,用θ<sub>max</sub>表示;将θ<sub>max</sub>判为文档图像的倾斜角<img file="FDA0001011930330000014.GIF" wi="45" he="41" />根据倾斜角<img file="FDA0001011930330000015.GIF" wi="34" he="39" />的大小,如果<img file="FDA0001011930330000016.GIF" wi="91" he="46" />则将F顺时针旋转<img file="FDA0001011930330000017.GIF" wi="32" he="39" />度;否则,将F逆时针旋转<img file="FDA0001011930330000018.GIF" wi="59" he="39" />度,旋转过程中使用的插值方法为双线性插值,将经过倾斜角矫正处理后的图像用Q表示;5)根据Q计算文本区域的边界,进而计算出偏移量,并借助平移操作使文本区域居中,方法如下:第1步:计算Q的尺寸,用HET和WID分别表示Q的高度和宽度,其中心点用HET/2和WID/2表示;第2步:计算Q的直方图,使用最大类间方差法计算阈值TH;使用TH,将Q转化为二值图B;第3步:计算B各行在水平方向的投影值,用表示H(r),其中r表示扫描文档图像的行号;第4步:计算H(r)的最大值,用H<sub>max</sub>表示,对于第r扫描行,如果满足H(r)<0.5×H<sub>max</sub>,则将该行判为有效文本行,记为H(r′);第5步:计算B各行在垂直方向的投影值,用表示V(c),其中c表示扫描文档图像的列号;第6步:计算V(c)的最大值,用V<sub>max</sub>表示,对于第c扫描行,如果满足V(c)<0.5×V<sub>max</sub>,则将该行判为有效文本列,记为V(c′);第7步:计算H(r′)中最上方文本行和最下方文本行的位置,分别用TOP和BOT表示;计算V(c′)中最左侧文本列与最右侧文本列的位置,用RHT和LEFT表示;计算文本区域的中心点坐标,用CENT<sub>x</sub>和CENT<sub>y</sub>表示;第8步:对于Q进行文本居中处理。 |