一种利用笔画对比和边缘密度特征滤除非文字边缘的方法技术领域
本发明属于自然场景图像文字检测技术领域,具体涉及一种利用
笔画对比和边缘密度特征滤除非文字边缘的方法。
背景技术
自然场景图像文字检测是指,从一幅自然场景中拍摄的图片中检
测并定位出图像中的文字的技术。该技术对于基于语义的检索,盲人
辅助等系统的完善都具有重要的意义。仅仅使用光学字符识别(OCR)
对自然场景中文字进行识别,识别效果往往很差,主要因为自然场景
中拍摄的图像往往包含了大量复杂的背景,比如窗户,栏杆,树叶等,
会造成很多的误检。因此,如果使用文字检测技术先将文字区域定位
出来,再进行OCR,便可以极大的提高识别准确率。然而,自然场景
文字检测的主要难点,主要来源于两个方面,一是图像质量较差,图
像质量往往会受到拍摄条件的制约,文字部分有时会因为反光,被遮
挡,失焦等原因,从而导致正常的检测方法失效;二是文字本身的形
态带来的难点,比如艺术字,低分辨率和浮雕文字。
发明内容
本发明针对上述问题,提供了一种利用笔画对比和边缘密度特征
滤除非文字边缘的方法,该方法在笔画宽度变换的基础上,通过提取
笔画对比和边缘密度特征,对边缘图中的背景边缘进行滤除,从而减
少了候选边缘分支的数目,降低了后续处理的时间复杂度。
为了达到上述目的,本发明采用如下技术方案:
一种利用笔画对比和边缘密度特征滤除非文字边缘的方法,包括
以下步骤:
步骤A:对于一副输入图像,计算它在灰度通道上的边缘图,并
从正反两面进行笔画宽度变换,其中,正面指原图,反面指原图取反
操作后得到的图;得到笔画对数目向量和笔画宽度变换图;
步骤B:对于边缘图像中的每一条边缘,分别利用正反两面的笔
画宽度变换图,计算笔画对比;对每一层笔画宽度变换图上的每一个
连通区域,计算该连通区域的边缘密度特征;对于每一条边缘,如果
其笔画对比小于预设阈值,则滤除该边缘;对于每一个连通区域,如
果其边缘密度大于预设阈值,则滤除该连通区域内所有的边缘连通分
支。
所述步骤A的具体步骤如下:
步骤A01:对于一副输入图像,首先计算它的灰度通道图,并使
用canny算子进行边缘检测,得到边缘图并进行连通区域标记;
步骤A02:对于边缘图,分别从正反两个方向,进行笔画宽度变
换;笔画宽度变换时,如果从某一边缘像素p沿着梯度方向出发,在
搜索范围内找到另一边缘像素q,且q的梯度与p的梯度之差在预设
范围内,则称p找到了笔画对;否则,称p没有找到笔画对;建立一
个大小为边缘连通区域数目eNum*1大小的向量,每当一个标记为i
的边缘点找到对应笔画对时,向量的第i个位置的值增加1,该向量
即为笔画对数目向量;建立一个大小和边缘图大小一样的笔画宽度变
换图,初始赋值均为0,如果某一边缘点找到了笔画对,则在笔画宽
度变换图上将从边缘点出发的搜索路径上的像素全部标记为1。
所述步骤B具体步骤如下:
步骤B01:对边缘图,分别利用正反两个方向的笔画宽度变换图,
计算笔画对比特征,笔画对比特征是一个边缘连通分支中找到了笔画
对的边缘像素的个数与该边缘连通分支中所有像素的个数之比;
步骤B02:对正反两个方向所对应的两个笔画宽度变换图,首先
进行连通区域标记,对每个连通区域,计算处于该连通区域内部的不
同的边缘连通区域的数目,作为连通区域的边缘密度特征;如果一个
边缘超过预设比例的像素均处于该连通区域的外接矩形范围内,则称
该边缘在该连通区域内部;如果该连通区域的边缘密度大于预设范
围,则该区域内所有的边缘连通分支都被滤除。
本技术方案具有如下技术效果:笔画对比可以滤除一些不具有平
行双边性质的背景边缘,以及在一些情况下,由于某文字边缘的实际
笔画宽度大于最大搜索长度,从而从该文字边缘像素出发搜索笔画对
时,在没有到达其平行边时就停止搜索,也会造成笔画对比过小,但
该情况可通过调整最大搜索长度或对图像进行缩放或多尺度机制得
到妥善处理。而边缘密度特征,该特征针对背景边缘较为杂乱无序,
往往会向四周发射笔画,从而和周围的其他背景边缘粘连在一起,并
和笔画一起,构成一个稠密的连通区域,因此,采用该特征可以有效
滤除大量的背景边缘。而且,通过结合多尺度技术,在多个分辨率的
图像上进行笔画宽度变换,提高在噪声,光照,遮挡和阴影等情况下
的检出率,然后使用该非文字边缘滤除方法,可以有效的减少非文字
边缘的干扰,从而为得到一个较优的文字区域粗定位结果。
具体实施方式
下面结合具体实施方式对本发明作进一步详细说明。
本发明一种利用笔画对比和边缘密度滤除非文字边缘的方法,具
体包括以下步骤:
步骤A:对于一副输入图像,在其灰度通道上,计算边缘图,并
进行笔画宽度变换,得到笔画对数目向量和笔画宽度变换图;
步骤A01:在灰度通道上,使用canny算子进行边缘检测,得到
边缘图;
步骤A02:计算边缘图的边缘密度,边缘密度是图像中边缘点的
数目占图像所有像素的比例。如果边缘密度过高,则调整canny算子
的上下阈值,重新计算canny边缘图。该步骤的目的是防止纹理较粗
糙的图像中文字区域的漏检。对于一些纹理粗糙的图像,canny算子
往往会检出大量的纹理性边缘,会使得文字边缘在笔画宽度变换中和
大量的纹理边缘粘连在一起,导致文字也被移除掉。最后,对最终的
边缘图进行连通区域标记,计算连通区域总数目为eNum,并计算每
条边缘连通分支所拥有的像素的数目;
步骤A03:对于边缘图,分别从正反两个方向,各进行一次笔画
宽度变换,各得到一个笔画对数目向量,及一个笔画宽度变换图。
笔画对的定义是,笔画宽度变换时,如果从某一边缘像素p沿着
梯度方向出发,在搜索范围内找到另一边缘像素q,且q的梯度与p
的梯度之差在一定范围内,则称q是p的笔画对。
笔画对数目向量的计算方法是,首先建立一个大小为边缘连通区
域数目eNum*1大小的向量,初始值均为0。每当一个标记为i的边
缘点找到对应笔画对时,向量的第i个位置的值增加1,直到所有的
边缘点都遍历完毕。
笔画宽度变换图的计算方法是,首先建立一个大小和边缘图大小
一样的笔画宽度变换图,初始赋值均为0,如果某一边缘点找到了笔
画对,则在笔画宽度变换图上将从边缘点出发的搜索路径上的像素全
部标记为1,直到所有的边缘点都遍历完毕。
步骤B:对于边缘图中的每一条边缘,分别利用正反两面的笔画
宽度变换图,计算笔画对比特征;对每一层笔画宽度变换图上的每一
个连通区域,计算该连通区域的边缘密度特征;对于每一条边缘,如
果其笔画对比小于预设阈值,则滤除该边缘;对于每一个连通区域,
如果其边缘密度大于预设阈值,则滤除该连通区域内所有的边缘连通
分支。
步骤B具体步骤如下:
步骤B01:对于边缘图,根据正反两个方向的笔画宽度变换图,
计算笔画对比特征,笔画对比特征是一个边缘连通分支中找到了笔画
对的边缘像素的个数(可由笔画对数目向量得到)占该边缘连通分支
中所有像素的个数之比;
步骤B02:对每个笔画宽度变换图,首先进行连通区域标记,对
每个连通区域,计算处于该连通区域的内部的不同的边缘连通区域的
数目,作为连通区域的边缘密度特征;如果一个边缘超过一定比例的
像素均处于该连通区域的外接矩形范围内,则称该边缘在该连通区域
内部;
步骤B03:对于每一条边缘,如果其笔画对比小于预设阈值,则
滤除该边缘。对于每一个笔画宽度变换图上每一个连通区域,如果其
边缘密度大于预设阈值,则滤除该连通区域内所有的边缘连通分支。