CN114445814B - 一种字符区域提取方法、计算机可读存储介质 - Google Patents

一种字符区域提取方法、计算机可读存储介质 Download PDF

Info

Publication number
CN114445814B
CN114445814B CN202210352578.8A CN202210352578A CN114445814B CN 114445814 B CN114445814 B CN 114445814B CN 202210352578 A CN202210352578 A CN 202210352578A CN 114445814 B CN114445814 B CN 114445814B
Authority
CN
China
Prior art keywords
area
pixel
value
image
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210352578.8A
Other languages
English (en)
Other versions
CN114445814A (zh
Inventor
杨洋
黄涛
黄淦
林泽伟
李杰明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huahan Weiye Technology Co ltd
Original Assignee
Shenzhen Huahan Weiye Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Huahan Weiye Technology Co ltd filed Critical Shenzhen Huahan Weiye Technology Co ltd
Priority to CN202210352578.8A priority Critical patent/CN114445814B/zh
Publication of CN114445814A publication Critical patent/CN114445814A/zh
Application granted granted Critical
Publication of CN114445814B publication Critical patent/CN114445814B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种字符区域提取方法、计算机可读存储介质,其中方法包括:获取待处理图像;对待处理图像进行灰度反转得到待处理反转图像,分别提取待处理图像和待处理反转图像的灰度盆地,进行筛选得到候选字符区域;对候选区域进行距离变换和形态学处理获得骨架区域,利用膨胀处理后的骨架区域的距离变换值估计笔画宽度;根据笔画宽度对骨架区域进行过滤。该方法能够适应复杂背景下的字符区域提取,可以有效地将噪声等非字符区域进行剔除,提高了字符区域提取的稳定性和准确性,对于光照不均匀、对比度较低的场景下的字符区域检测,也能有效提高稳定性。

Description

一种字符区域提取方法、计算机可读存储介质
技术领域
本发明涉及机器视觉领域,具体涉及一种字符区域提取方法、计算机可读存储介质。
背景技术
图像中的文字识别有着广泛的应用,比如快递包装的邮政编码识别、票据识别、视频字幕自动识别、扫描文档识别、车牌识别等。随着越来越多的智能摄像头和视频终端的使用,自然场景下的文字识别的需求越来越多,如何在复杂的背景下,完成字符的识别、提取是需要解决的一个重要问题。目前,现有的字符识别、提取方法在面对以下场景时的效果仍有待进一步提高:
(1)复杂背景:背景包含文字、图案、复杂图形,纹理结构复杂;
(2)字符排列不规则:环形排布、表格分布、散乱随机分布等;
(3)多种类别字体:涵盖多种大小、多种字体(如艺术字、行书、楷书等)、镭雕、激光打印等;
(4)多种语言:英语、汉语等多种语言。
此外,现有技术大多只能检测亮背景上的暗字符或者只能检测暗背景上的亮字符,无法实现两者的同时检测。
发明内容
本申请提供一种字符区域提取方法、计算机可读存储介质,旨在提高图像中字符提取的稳定性和准确性。
根据第一方面,一种实施例中提供一种字符区域提取方法,包括:
获取待处理图像,若所获取的待处理图像为彩色图像则将其转换为灰度图像;
对所述待处理图像进行灰度反转处理,得到待处理反转图像;
分别将所述待处理图像和所述待处理反转图像作为输入图像,对输入图像进行像素间灰度值的比较以获取灰度盆地,将所述待处理图像的灰度盆地作为第一字符初筛区域,将所述待处理反转图像的灰度盆地作为第二字符初筛区域,其中灰度盆地指图像中相邻连通区域的集合,此集合内所有像素的灰度值都小于或等于一数值,且集合的外边缘像素的灰度值都大于该数值;
根据预设的几何特征,分别对所述第一字符初筛区域和所述第二字符初筛区域进行筛选,对筛选后位置对应的第一字符初筛区域和第二字符初筛区域,根据两者的面积从中选取一个作为候选字符区域;
对候选字符区域进行距离变换,使候选字符区域中每个像素点的值由变换前对应的像素点到最近背景像素点的距离代替;
对进行距离变换后的所述候选字符区域进行形态学处理以获得骨架区域,并对骨架区域进行膨胀处理,计算膨胀后的骨架区域中像素点的值的平均值l i ,利用平均值l i 估计笔画宽度L i ,其中下标i表示第i个骨架区域;
根据笔画宽度对骨架区域进行过滤,得到字符区域。
一种实施例中,所述对输入图像进行像素间灰度值的比较以获取灰度盆地包括:
初始化步骤,向用于存放组块的栈内存入一空组块,该空组块的值为256,组块用于存储像素的坐标,且坐标被存入组块的像素,其灰度值不大于组块的值;选取输入图像中任意一像素作为源像素,标注其已被访问过,并把该源像素作为当前像素;
组块入栈步骤,向栈内存入一空组块,该组块的值为当前值,当前值指当前像素的灰度值;
邻域搜索步骤,按顺序检查当前像素的邻域内的像素是否已被访问过,当检查到未被访问过的像素时则执行第一灰度比较步骤,当所有像素都已被访问过时则执行组块累计步骤;
第一灰度比较步骤,将该未被访问过的像素的灰度值与当前值进行比较,当该未被访问过的像素的灰度值小于当前值时,则将当前像素的坐标存入堆中,将该未被访问过的像素作为新的当前像素,标注其已被访问过,并返回组块入栈步骤,否则,将该未被访问过的像素的坐标存入堆中,标注其已被访问过,返回邻域搜索步骤,其中堆用于存储边界像素的坐标;
组块累计步骤,将当前像素的坐标存入栈顶的组块中,弹出堆中灰度值最小的像素的坐标,将该像素作为新的当前像素,执行第二灰度比较步骤,若堆中灰度值最小的像素不只一个,则按后进先出的原则弹出,若此时堆为空则执行灰度盆地生成步骤;
第二灰度比较步骤,判断此时的当前值是否和上一个当前值相同,若相同则返回邻域搜索步骤,否则执行第三灰度比较步骤;
第三灰度比较步骤,判断当前值是否小于栈顶第二个组块的值,若是则将栈顶组块记录到区域增长历史表中,然后将当前值作为栈顶组块的值,并返回邻域搜索步骤,否则执行组块合并步骤;
组块合并步骤,将栈顶组块记录到区域增长历史表中,然后合并栈顶的两个组块,合并后的组块的值为其中较大者,执行第四灰度比较步骤;
第四灰度比较步骤,判断当前值是否大于栈顶组块的值,若是则返回第三灰度比较步骤,否则返回邻域搜索步骤;
灰度盆地生成步骤,查找区域增长历史表中的父组块和子组块,将所有父组块作为灰度盆地,其中子组块中的所有像素均包含于其父组块中。
一种实施例中,所述字符区域提取方法还包括:每当栈中有更大的组块的值出现时,则将其记录为灰度阈值,每当灰度阈值的变化达到预设的变化步长δ 时,则判断区域增长历史表中的组块是否为稳定区域,其中当组块的面积变化率小于预设的面积变化阈值时则判定该组块为稳定区域,组块的面积变化率根据以下公式计算:
Figure 288800DEST_PATH_IMAGE001
其中q(i)表示灰度阈值为i时组块的面积变化率,Q i 表示灰度阈值为i时组块的面积。
一种实施例中,所述几何特征包括面积、长宽比以及面积与外接矩形面积的比值中的一者或多者。
一种实施例中,所述对筛选后位置对应的第一字符初筛区域和第二字符初筛区域,根据两者的面积从中选取一个作为候选字符区域,包括:
计算第一字符初筛区域的面积和第二字符初筛区域的面积,以及两者的合并区域的面积;
计算第一字符初筛区域与合并区域的面积比,以及第二字符初筛区域与合并区域的面积比,当两面积比均大于预设的面积比阈值时,选取第一字符初筛区域和第二字符初筛区域中,与合并区域相交面积较大的作为候选字符区域。
一种实施例中,所述对候选字符区域进行距离变换,使候选字符区域中每个像素点的值由变换前对应的像素点到最近背景像素点的距离代替,包括:
构建一M×N大小的数组F,数组F中的元素与图像中的像素点一一对应,将数组F中与图像子集C对应的元素置为0,其他置为无穷,其中M为图像的长度,N为图像的宽度,图像子集C为图像中所述候选字符区域的集合;
按行遍历图像,从上到下,从左到右;对于当前像素点p,按公式
Figure 488837DEST_PATH_IMAGE002
进行两次计算,其中每次计算时分别将像素点p上方和左面邻域的像素点作为像素点qF(p)表示像素点p在数组F中对应的元素值,F(q)表示像素点q在数组F中对应的元素值,D(p,q)表示像素点p和像素点q之间的距离;
按行遍历图像,从下到上,从右到左;对于当前像素点p,按公式
Figure 13359DEST_PATH_IMAGE002
进行两次计算,其中每次计算时分别将像素点p下方和右面邻域的像素点作为像素点q
对于图像中每个像素点r,将F(r)作为它的值。
一种实施例中,所述笔画宽度L i =2l i +3。
一种实施例中,所述根据笔画宽度对骨架区域进行过滤,得到字符区域,包括:
预先设置置信水平p,根据以下公式计算置信水平系数c p
Figure 298847DEST_PATH_IMAGE003
将骨架区域的特征向量x i 代入以下公式计算得到f(x i ):
Figure 832597DEST_PATH_IMAGE004
其中特征向量x i =( L i ,A i ),A i 表示骨架区域的面积,μ表示所有骨架区域的特征向量的均值,∑表示特征向量的协方差矩阵,n表示骨架区域的数量;
保留f(x i )< c p σ的骨架区域作为字符区域,其中 σ表示所有骨架区域的特征向量的标准差。
一种实施例中,所述字符区域提取方法还包括:在对所述待处理图像进行灰度反转处理前,对所述待处理图像进行预处理,所述预处理包括:
获取所述待处理图像的相对直方图数据p hi (i=0,1,…,255),相对直方图数据p hi 表示灰度值为i的像素个数占图像总像素个数的比例;
将原图像中的灰度值k映射为灰度值
Figure 887140DEST_PATH_IMAGE005
,得到预处理后的所述待处理图像,其中
Figure 51405DEST_PATH_IMAGE006
k=0,1,…,255,
Figure 824189DEST_PATH_IMAGE007
表示向下取整。
根据第二方面,一种实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现如上述第一方面所述的字符区域提取方法。
依据上述实施例的字符区域提取方法和计算机可读存储介质,首先对待处理图像进行灰度反转处理得到待处理反转图像,然后分别提取待处理图像和待处理反转图像的灰度盆地,再进行筛选得到候选字符区域,对候选区域进行距离变换和形态学处理获得骨架区域,利用膨胀处理后的骨架区域的距离变换值估计笔画宽度,最后根据笔画宽度对骨架区域进行过滤,得到字符区域,能够适应复杂背景下的字符区域提取,可以有效地将噪声等非字符区域进行剔除,提高了字符区域提取的稳定性和准确性,对于光照不均匀、对比度较低的场景下的字符区域检测,也能有效提高稳定性。由于本申请的方法中将待处理图像进行灰度反转处理得到待处理反转图像,对待处理图像和待处理反转图像同时进行处理,使得可以同时检测亮背景上的暗字符以及暗背景上的亮字符。本申请中的笔画宽度估计方法能够用于多种字符类别、多种字体的笔画宽度的分析,准确性高,计算简单,无需复杂的硬件设施作为基础,可以满足边缘端部署和检测的需求。
附图说明
图1为一种实施例的字符区域提取方法的流程图;
图2为一种实施例中对输入图像进行像素间灰度值的比较获取灰度盆地的流程图;
图3为第一字符初筛区域和第二字符初筛区域的合并区域的示意图;
图4为一种实施例中获取灰度盆地时的输入图像的示意图;
图5为获取灰度盆地过程中图像中各像素的状态的示意图之一;
图6为获取灰度盆地过程中图像中各像素的状态的示意图之二;
图7为获取灰度盆地过程中图像中各像素的状态的示意图之三;
图8为获取灰度盆地过程中图像中各像素的状态的示意图之四;
图9为获取灰度盆地过程中图像中各像素的状态的示意图之五;
图10为获取灰度盆地过程中图像中各像素的状态的示意图之六;
图11为获取灰度盆地过程中图像中各像素的状态的示意图之七;
图12为获取灰度盆地过程中图像中各像素的状态的示意图之八;
图13为获取灰度盆地过程中图像中各像素的状态的示意图之九;
图14为获取灰度盆地过程中图像中各像素的状态的示意图之十;
图15为获取灰度盆地过程中图像中各像素的状态的示意图之十一;
图16为获取灰度盆地过程中图像中各像素的状态的示意图之十二;
图17为获取灰度盆地过程中图像中各像素的状态的示意图之十三;
图18为获取灰度盆地过程中图像中各像素的状态的示意图之十四;
图19为获取灰度盆地过程中图像中各像素的状态的示意图之十五;
图20为获取灰度盆地过程中图像中各像素的状态的示意图之十六;
图21为一待处理图像;
图22为对字符初筛区域进行筛选和合并后的结果;
图23为对候选字符区域进行距离变换得到的结果;
图24为骨架区域的提取结果;
图25为对骨架区域进行膨胀处理的结果。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
在进行字符识别、提取的时候,以及在光学字符验证系统中,经常需要分析字符笔画的宽度,字符笔画宽度的估计在后续的识别过程中起着重要的作用。当前笔画宽度的分析只能得到较粗略的估计结果,很多时候估计结果和真实的结果之间存在很大偏差,无法满足精确的印刷质量分析的要求。笔画宽度的获取,有助于有效剔除非字符区域,提升整个字符识别、提取和分割的稳定性,是实现文本准确定位的关键步骤。当前的字符笔画宽度估计方法主要涵盖以下几种:
(1)基于形态学运算进行参数估计,对于二值化的图像,进行膨胀和腐蚀等操作,根据面积进行笔画宽度的估计;
(2)基于梯度方向进行边缘查找,完成笔画宽度估计:首先获得物体的边缘轮廓,基于边缘轮廓的梯度方向进行闭合笔画边缘的查找,然后基于两点之间的距离,完成笔画宽度的估计;
(3)基于直方图的参数映射关系,进行笔画宽度的估计:获取二值化后的连通区域,基于区域的特征信息,建立相应的直方图函数映射关系,对于直方图进行参数分析,例如获取中值、x%分位点信息等,完成笔画宽度的估计。
上述方法主要存在以下的问题:
(1)形态学运算很大程度上依赖于二值图像的获取,二值化阈值的选取是决定笔画宽度、字符定位和分割的关键,当前比较优的Otsu二值化方法也无法满足检测需求,因此该方法只适用于背景比较简单、光照比较均匀的场景;
(2)基于梯度边缘的查找,是一个利用局部图像算子的方法,对每个像素计算包含该像素点的最有可能的笔画宽度,该方法计算量大,无法满足手机、嵌入式系统等边缘计算设备的要求,需要耗费的计算资源较大,设备的功耗比较高;
(3)基于直方图的参数映射关系的方法,很大程度上依赖于特征的选择,特征的选择以及映射之间的函数估计是一个重点要解决的问题,该方法本质上是要建立一个
Figure 630471DEST_PATH_IMAGE008
的关系,其中
Figure 805101DEST_PATH_IMAGE009
表示用户选择的特征向量,而参数特征的选择,很大程度上依赖于工程师的经验和能力,这对于项目的实施和部署提高了难度。
本申请提供一种字符区域提取方法,旨在提高图像中字符提取的稳定性和准确性,其中提供了一种估计字符笔画宽度的方式,能够适应复杂场景、光照不均匀、对比度较低的场景下的字符笔画宽度估计,准确性高,从而也有利于提高字符提取的稳定性和准确性。请参考图1,本申请一种实施例中的字符区域提取方法包括步骤110~170,下面具体说明。
步骤110:获取待处理图像。待处理图像可以是由任意类型的摄像装置拍摄得到的,例如由CCD或者CMOS相机拍摄获得灰度图像或者彩色图像。如果所获取的待处理图像是彩色图像,则需要通过转换,将彩色图像转换为灰度图像,彩色图像转换为灰度图像的过程,可以采用HSV转换,获取其中某一个通道数据作为灰度值,也可以采用将R、G、B三个通道数据进行加权求和处理进行转换。
在有的实施例中,还可以对待处理图像进行预处理再继续后续步骤。图像预处理的主要目的是提升图像的对比度,保证字符区域提取的稳定性和准确性。本申请的图像预处理方法如下:
(1)获取待处理图像的相对直方图数据p hi (i=0,1,…,255),相对直方图数据p hi 表示灰度值为i的像素个数占图像总像素个数的比例,可以表示为一个256维的数据,每个维度表示该灰度值出现的概率;
(2)建立映射关系:
Figure 937005DEST_PATH_IMAGE006
k=0,1,…,255,其中k表示原图像中的灰度值,将原图像中的灰度值k映射为灰度值
Figure 197085DEST_PATH_IMAGE005
,从而获得预处理后的待处理图像,
Figure 807058DEST_PATH_IMAGE007
表示向下取整。
步骤120:对待处理图像进行灰度反转处理,得到待处理反转图像。此步骤的目的在于实现亮背景上的暗字符以及暗背景上的亮字符的同时检测,将待处理图像进行灰度反转处理后,亮背景上的暗字符会被转换为暗背景上的亮字符,或者暗背景上的亮字符会被转换为亮背景上的暗字符,后续即可对两者进行统一处理,实现同时检测。灰度反转处理可以根据以下公式进行:
Figure 39456DEST_PATH_IMAGE010
,其中s(i,j)表示待处理图像中位置(i,j)处像素的灰度值,d(i,j)表示灰度反转处理后得到的待处理反转图像中位置(i,j)处像素的灰度值。
步骤130:获取灰度盆地作为字符初筛区域。分别将待处理图像和待处理反转图像作为输入图像,对输入图像进行像素间灰度值的比较以获取灰度盆地,将待处理图像的灰度盆地作为第一字符初筛区域,将待处理反转图像的灰度盆地作为第二字符初筛区域。“灰度盆地”顾名思义,是指图像中灰度值中间低四周高的区域,具体来说,在本申请中是指图像中相邻连通区域(比如4连通区域或8连通区域)的集合,此集合内所有像素的灰度值都小于或等于一数值,且集合的外边缘像素的灰度值都大于该数值,这个数值是通过像素间灰度值的比较而找到的。
获取字符区域的过程实质上是一个二分类的过程,也就是将像素分割为前景像素和背景像素,前景像素为字符区域的像素,其他的即为背景像素。本步骤中获取灰度盆地的基本原理就是对一幅灰度图像(灰度值为0~255)寻找合适的灰度阈值进行二值化处理,低于或等于这个灰度阈值的部分就是灰度盆地,具体的做法就是通过进行像素间灰度值的比较,不断地将更大的像素灰度值作为灰度阈值,使得灰度阈值从0到255递增,寻找一个合适的数值。可以将灰度值比作地势,将灰度阈值比作水位,灰度阈值的递增类似于水面的上升,随着水面的上升,一些较矮的丘陵会被淹没,从上往下俯视看,可以分为陆地和水域两个部分,这也就类似于二值图像。当有两个低矮的区域同时被注入水时,在水位上升的过程中会出现临界相交的区域未被水淹没,那么相交的地方就相当于是岭,水域部分就相当于是盆地。在这个二值化的过程中,会有一些被水淹没的连通区域的面积变化比较小,甚至没有变化,则这些区域可以称为是稳定区域,可以判定它们属于灰度盆地的一部分。
下面结合图2对一种实施例中获取灰度盆地的过程进行具体说明,该过程包括初始化步骤、组块入栈步骤、邻域搜索步骤、第一灰度比较步骤、组块累计步骤、第二灰度比较步骤、第三灰度比较步骤、组块合并步骤、第四灰度比较步骤和灰度盆地生成步骤,图2中的步骤1为初始化步骤,步骤2为组块入栈步骤,步骤3为邻域搜索步骤,步骤4、5和6为第一灰度比较步骤,步骤7、8和9为组块累计步骤,步骤10为第二灰度比较步骤,步骤11和12为第三灰度比较步骤,步骤13为组块合并步骤,步骤14为第四灰度比较步骤,步骤15为灰度盆地生成步骤,在进行具体介绍前,先对几个概念进行说明:
组块:表示一个区域,这个区域地势较低,被水面漫过,相当于水域;组块用于存储像素的坐标,组块具有值,相当于水位,坐标被存入组块的像素,其灰度值不大于组块的值;组块的初始状态一般为空,后续处理过程中符合条件的像素的坐标将被存入组块中,组块中包含的像素则构成一个区域。
栈:用于存放组块。
堆:用于存储组块边界像素的坐标,相当于水域的岸边,岸边高于水面,因此边界像素的灰度值一定不小于其所包围的区域(即组块)的值;在进行像素间灰度值的比较时,灰度值较大的像素会被认为是边界像素,其坐标将会被存入堆中;堆中的像素可以被弹出,重新用于比较。
区域增长历史表:用于记录组块,每当栈顶组块发生变化时(例如栈顶组块的值发生变化或栈顶组块合并等),原先的栈顶组块会被记录到区域增长历史表中,最终区域增长历史表中将会记录有水位由低到高变化过程中得到的各个组块;某些组块间具有父子关系,父组块与子组块的关系为:子组块中的所有像素均包含于其父组块中,或者说子组块被父组块合并过;在区域增长历史表中,组块的父子关系将会被标记出。
下面对各步骤进行具体说明。
步骤1:进行初始化。向栈内存入一空组块,该空组块的值为256;选取输入图像中任意一像素作为源像素,标注其已被访问过,并把该源像素作为当前像素。
步骤2:向栈内存入一空组块,该组块的值为当前值,当前值指当前像素的灰度值。
步骤3:按顺序检查当前像素的邻域内的像素是否已被访问过,当检查到未被访问过的像素时则执行步骤4,当所有像素都已被访问过时则执行步骤7。邻域可以是4邻域或者8邻域,检查顺序可以预先确定。例如当采用4邻域时,可以按上左下右的顺序进行检查,当检查到第一个未被访问过的像素时则执行步骤4,当所有4个邻域像素都已被访问过时则执行步骤7。
步骤4:将该未被访问过的像素的灰度值与当前值进行比较,当该未被访问过的像素的灰度值小于当前值时则执行步骤5,否则执行步骤6。
步骤5:将当前像素的坐标存入堆中,将该未被访问过的像素作为新的当前像素,标注其已被访问过,并返回步骤2。
步骤6:将该未被访问过的像素的坐标存入堆中,标注其已被访问过,返回步骤3。
步骤7:将当前像素的坐标存入栈顶的组块中。
步骤8:弹出堆中灰度值最小的像素的坐标,将该像素作为新的当前像素,若堆中灰度值最小的像素不只一个,则按后进先出的原则弹出。
步骤9:判断此时堆是否为空,若是则执行步骤15,否则执行步骤10。
步骤10:判断此时的当前值是否和上一个当前值相同,若相同则返回步骤3,否则执行步骤11。
步骤11:判断当前值是否小于栈顶第二个组块的值,若是则执行步骤12,否则执行步骤13。
步骤12:将栈顶组块记录到区域增长历史表中,然后将当前值作为栈顶组块的值,并返回步骤3。
步骤13:将栈顶组块记录到区域增长历史表中,然后合并栈顶的两个组块,合并后的组块的值为其中较大者。
步骤14:判断当前值是否大于栈顶组块的值,若是则返回步骤11,否则返回步骤3。
步骤15:查找区域增长历史表中的父组块和子组块,将所有父组块作为灰度盆地。
由于坐标被存入组块的像素,其灰度值不大于组块的值,因此组块的值就相当于淹没组块的水位,每当有更大的组块的值出现时,意味着水面提高,可以淹没更广的区域,类似于灰度阈值的增加,此时组块的值相当于灰度阈值,因此,每当栈中有更大的组块的值出现时,则将其记录为当前的灰度阈值。为了判断组块是否为稳定区域,可以预先设置一变化步长δ,每当灰度阈值的变化达到这一变化步长时,则判断区域增长历史表中的组块是否为稳定区域。判断组块是否为稳定区域可以将组块的面积变化率作为依据,当组块的面积变化率小于预设的面积变化阈值时则判定该组块为稳定区域,组块的面积变化率根据以下公式计算:
Figure 342261DEST_PATH_IMAGE001
其中q(i)表示灰度阈值为i时组块的面积变化率,Q i 表示灰度阈值为i时组块的面积。
下面通过一个例子对上述流程进行说明。
如图4所示,假设输入图像的大小为3×3,像素的灰度值为图中方框中标注的数值。在进行邻域搜索时采用4邻域,按右下左上的顺序进行检查。用(行数,列数)表示像素的坐标,其中行数和列数均从0开始。数值为斜体的为当前像素,背景为黑色的为已访问过的像素。
(1)执行步骤1和2。从(1,0)点开始可以稍微节省遍历的时间,将(1,0)选为源像素,那么步骤2中存入栈中的就是一个值为2的空组块,相当于往(1,0)这点注入水使其被淹没,水位值为2。此时图像中各像素的状态如图5所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 2
表2 堆
灰度值
表3 区域增长历史表
ID 灰度值 父组块 子组块
(2)执行步骤3和4,按右下左上的顺序检查邻域像素,首先检查右面的像素(1,1),其灰度值为3大于2,因此执行步骤6,将点(1,1)存入堆中。继续执行步骤3和4,检查下方的像素(2,0),其灰度值为1小于2,因此执行步骤5和2,将点(1,0)视为边界像素,存入堆中,水可以漫过点(2,0),将点(2,0)作为新的当前像素,向栈内存入一值为1的空组块,水位值降低为1。此时图像中各像素的状态如图6所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 2
2 1
表2 堆
灰度值
2 (1,0)
3 (1,1)
表3 区域增长历史表
ID 灰度值 父组块 子组块
(3)执行步骤3、4和6,检查右面的像素(2,1),其灰度值为2大于1,将其存入堆中。此时图像中各像素的状态如图7所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 2
2 1
表2 堆
灰度值
2 (1,0)(2,1)
3 (1,1)
表3 区域增长历史表
ID 灰度值 父组块 子组块
(4)执行步骤3,发现(2,0)的邻域像素都已被访问过,确认(2,0)属于当前组块,因此执行步骤7和8,将(2,0)存入栈顶的组块中,弹出堆中地势最低的边界像素作为新的当前像素,弹出顺序为后进先出,因此弹出(2,1)。此时图像中各像素的状态如图8所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 2
2 (2,0) 1
表2 堆
灰度值
2 (1,0)
3 (1,1)
表3 区域增长历史表
ID 灰度值 父组块 子组块
(5)执行步骤9,堆不为空,因此执行步骤10,此时的当前值(2)比上一个当前值(1)大,即地势最低的边界像素为2大于1,说明此时的最低地势为2,在这个区域已经没有邻域的地势小于等于1,说明已经找到了一个水位为1的组块,为了使水能够向外漫延,找到更大的组块,需要提高水位。执行步骤11,如果当前值小于栈顶第二个组块的值,说明在栈顶组块和第二个组块之间还有组块没有检测出来,可以执行步骤12,直接将当前值作为栈顶组块的值,这样将水位提高到了适当的值,以检测出更多组块;如果当前值不小于栈顶第二个组块的值,这时如果直接将当前值作为栈顶组块的值,那么栈顶组块的水位会高于等于第二个组块的水位,又由于水位高的组块应当包含水位低的组块,因此需要执行步骤13,先将栈顶的两个组块合并作为新的栈顶组块,但如果合并后当前值大于栈顶组块的值,那么有可能它还是不小于栈顶第二个组块的值,因此需要继续执行步骤11进行处理。在当前情况下,由于此时当前值(2)不小于栈顶第二个组块的值(2),因此执行步骤13,将找到的水位为1的组块(栈顶组块)记录到区域增长历史表中,然后合并栈顶的两个组块,组块的值取较大的2,然后执行步骤14。为了方便,区域增长历史表的ID从10开始。此时图像中各像素的状态如图9所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 (2,0) 2 10
2
表2 堆
灰度值
2 (1,0)
3 (1,1)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1
(6)由于步骤14里当前值(2)不大于栈顶组块的值(2),因此执行步骤3,检查右面的像素(2,2),其灰度值为3大于2,执行步骤6,将其存入堆中。执行步骤3、7和8,将(2,1)存入栈顶组块中,弹出(1,0)作为当前像素,执行步骤9和10,由于当前值(2)和上一个当前值(2)相同,因此水位无需发生变化。此时图像中各像素的状态如图10所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 (2,0)(2,1) 2 10
2
表2 堆
灰度值
2
3 (1,1)(2,2)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1
(7)执行步骤3、4和6,将(0,0)存入堆中。此时图像中各像素的状态如图11所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 (2,0)(2,1) 2 10
2
表2 堆
灰度值
2
3 (1,1)(2,2)(0,0)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1
(8)执行步骤3、7和8,将(1,0)存入栈顶组块中,弹出(0,0)作为新的当前像素。此时图像中各像素的状态如图12所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 (2,0)(2,1)(1,0) 2 10
2
表2 堆
灰度值
2
3 (1,1)(2,2)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1
(9)执行步骤9,堆不为空,因此执行步骤10和11,此时当前值小于栈顶第二个组块的值,因此执行步骤12,将栈顶组块记录到区域增长历史表,然后将当前值作为栈顶组块的值,提高水位。由于出现了更大的组块的值3,比原先的2大1,若变化步长δ=1,则可判断区域增长历史表中的组块是否为稳定区域。此时区域增长历史表中ID为11的组块应为ID为10的组块的父组块,进行标记。此时图像中各像素的状态如图13所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 (2,0)(2,1)(1,0) 3 11
2
表2 堆
灰度值
2
3 (1,1)(2,2)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1 11
11 (2,0)(2,1)(1,0) 2 10
(10)执行步骤3、4、5和2,将(0,0)存入堆中,将(0,1)作为当前像素,新增一值为2的空组块。此时图像中各像素的状态如图14所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 (2,0)(2,1)(1,0) 3 11
2 2
表2 堆
灰度值
2
3 (1,1)(2,2)(0,0)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1 11
11 (2,0)(2,1)(1,0) 2 10
(11)执行步骤3、4和6,将(0,2)存入堆中。此时图像中各像素的状态如图15所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 (2,0)(2,1)(1,0) 3 11
2 2
表2 堆
灰度值
2 (0,2)
3 (1,1)(2,2)(0,0)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1 11
11 (2,0)(2,1)(1,0) 2 10
(12)执行步骤3、7和8,将(0,1)存入栈顶组块中,弹出(0,2)作为当前像素。此时图像中各像素的状态如图16所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 (2,0)(2,1)(1,0) 3 11
2 (0,1) 2
表2 堆
灰度值
2
3 (1,1)(2,2)(0,0)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1 11
11 (2,0)(2,1)(1,0) 2 10
(13)执行步骤9、10、3、4、5和2,将(0,2)存入堆中,将(1,2)作为当前像素,新增一值为1的空组块。此时图像中各像素的状态如图17所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 (2,0)(2,1)(1,0) 3 11
2 (0,1) 2
3 1
表2 堆
灰度值
2 (0,2)
3 (1,1)(2,2)(0,0)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1 11
11 (2,0)(2,1)(1,0) 2 10
(14)执行步骤7和8,将(1,2)存入栈顶组块,弹出(0,2)作为当前像素;执行步骤9、10、11和13,将栈顶组块记录到区域增长历史表中,然后将栈顶两组块合并。此时图像中各像素的状态如图18所示。
表1 栈
ID 灰度值 区域增长历史
0 256
1 (2,0)(2,1)(1,0) 3 11
2 (0,1)(1,2) 2
表2 堆
灰度值
2
3 (1,1)(2,2)(0,0)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1 11
11 (2,0)(2,1)(1,0) 2 10
12 (1,2) 1
(15)执行步骤14、3、7和8,将(0,2)存入栈顶组块,弹出(0,0)作为当前像素;执行步骤9、10、11和13,将栈顶组块记录到区域增长历史表中,然后将栈顶两组块合并。此时图像中各像素的状态如图19所示。
表1 栈
Figure 824058DEST_PATH_IMAGE011
表2 堆
灰度值
2
3 (1,1)(2,2)
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1 11
11 (2,0)(2,1)(1,0) 2 10
12 (1,2) 1 13
13 (0,1)(1,2)(0,2) 2 12
(16)继续执行后续步骤,连续将(0,0)、(2,2)存入栈顶组块,最后弹出(1,1),此时堆为空,执行步骤15,将区域增长历史表中的父组块11、13作为灰度盆地。此时图像中各像素的状态如图20所示。
表1 栈
Figure 503301DEST_PATH_IMAGE012
表2 堆
灰度值
2
3
表3 区域增长历史表
ID 灰度值 父组块 子组块
10 (2,0) 1 11
11 (2,0)(2,1)(1,0) 2 10
12 (1,2) 1 13
13 (0,1)(1,2)(0,2) 2 12
步骤140:对字符初筛区域进行筛选和合并。首先根据预设的几何特征,分别对第一字符初筛区域和第二字符初筛区域进行筛选,所使用的几何特征可以是面积、长宽比以及面积与外接矩形面积的比值中的一者或多者,筛选的条件可以是面积大于预设的面积阈值、长宽比大于预设的长宽比阈值、面积与外接矩形面积的比值大于预设的阈值等,具体的几何特征和筛选条件可以根据实际字符的特点进行设置。
对筛选后位置对应的第一字符初筛区域和第二字符初筛区域,根据两者的面积从中选取一个作为候选字符区域。一种实施例中,可以采用类似于IoU(Intersection overUnion,交并比)的方式进行选取,首先计算第一字符初筛区域的面积S 1和第二字符初筛区域的面积S 2,以及两者的合并区域的面积S U,合并区域即第一字符初筛区域和第二字符初筛区域的并集,如图3所示;然后计算第一字符初筛区域与合并区域的面积比S 1/S U,以及第二字符初筛区域与合并区域的面积比S 2/S U,当面积比S 1/S US 2/S U均大于预设的面积比阈值时,选取第一字符初筛区域和第二字符初筛区域中,与合并区域相交面积较大的作为候选字符区域。这样一来就相当于对第一字符初筛区域和第二字符初筛区域进行了合并,只剩下其中之一。
步骤150:对候选字符区域进行距离变换。本步骤的目的是得到一张与输入图像大小一样的灰度图像,但是灰度只出现在前景区域,并且越远离前景和背景相接处的像素其灰度值越大,即使得候选字符区域中间亮边缘暗,如图6所示。此时的前景区域为候选字符区域,其他为背景区域。
对候选字符区域进行距离变换,使候选字符区域中每个像素点的值由变换前对应的像素点到最近背景像素点的距离代替。一种实施例中,可以按以下步骤进行处理来完成距离变换:
(1)构建一M×N大小的数组F,用于存放每个像素的距离变换值,其中M为图像的长度,N为图像的宽度,数组F中的元素与图像中的像素点一一对应,将数组F中与图像子集C对应的元素置为0,其他置为无穷,图像子集C为图像中候选字符区域的集合;
(2)按行遍历图像,从上到下,从左到右;遍历过程中,对于当前像素点p,按公式
Figure 386944DEST_PATH_IMAGE002
进行两次计算,其中每次计算时分别将像素点p上方和左面邻域的像素点作为像素点qF(p)表示像素点p在数组F中对应的元素值,F(q)表示像素点q在数组F中对应的元素值,D(p, q)表示像素点p和像素点q之间的距离;
(3)按行遍历图像,从下到上,从右到左;遍历过程中,对于当前像素点p,按公式
Figure 860650DEST_PATH_IMAGE002
进行两次计算,其中每次计算时分别将像素点p下方和右面邻域的像素点作为像素点q
(4)对于图像中每个像素点r,将它的距离变换值F(r)作为它的值,从而得到距离变换后的结果。
其中距离D(p,q)的度量可以有几种不同的方法,假设两像素点坐标分别为P 1(x 1,y 1)和P 2(x 2,y 2),那么计算距离的方法有:
(1)欧式距离:
Figure 33006DEST_PATH_IMAGE013
(2)曼哈顿距离(街区距离):
Figure 984781DEST_PATH_IMAGE014
(3)棋盘格距离:
Figure 988509DEST_PATH_IMAGE015
可根据实际需要选择计算方法。
步骤160:估计笔画宽度。对进行距离变换后的候选字符区域进行形态学处理以获得骨架区域,并对骨架区域进行膨胀处理,计算膨胀后的骨架区域中像素点的值的平均值l i ,也就是像素点的距离变换值的平均值,利用平均值l i 估计笔画宽度L i ,其中下标i表示第i个骨架区域。一种实施例中,可以根据L i =2l i +3来确定笔画宽度。
步骤170:根据笔画宽度对骨架区域进行过滤,将异常的区域剔除掉,得到最终的字符区域。
可以利用置信度来对骨架区域进行过滤。选取区域的面积A i 和笔画宽度L i 建立一个二维特征向量,可以表示为
Figure 898696DEST_PATH_IMAGE016
,其中n表示骨架区域的数量。假设该二维特征向量服从正态分布,那么其概率密度函数可以表示为:
Figure 355085DEST_PATH_IMAGE017
其中x =(L,A)表示该二维特征向量,μ表示所有骨架区域的特征向量的均值,∑表示特征向量的协方差矩阵。
可以预先设置一置信水平p,利用上述的概率分布来对骨架区域进行过滤。假设半径为c的圆内的区域应是合格的字符区域,将二维分布的随机变量表示为t 1t 2,可计算出该区域的分布概率为
Figure 110552DEST_PATH_IMAGE018
进行极坐标变换,令t 1=rcosθt 2=rsinθ,可得
Figure 703207DEST_PATH_IMAGE019
设置一参数c p 反映半径c,则由上式可知,置信水平p与参数c p 之间应满足关系:
Figure 721979DEST_PATH_IMAGE020
,可以根据参数c p 进行过滤,将参数c p 称为置信水平系数。
具体的,在进行过滤时,首先根据置信水平p与置信水平系数c p 的关系计算出置信水平系数c p ,然后将骨架区域的特征向量x i 代入上述的概率密度函数中计算得到f(x i ),这里x i 表示骨架区域i的特征向量,最后保留f(x i )< c p σ的骨架区域作为字符区域,其中σ表示所有骨架区域的特征向量的标准差。至此则完成了对待处理图像中字符区域的提取。
图21~图25给出了处理过程中的一些中间结果,其中图21为待处理图像,图22为对字符初筛区域进行筛选和合并后的结果,图23为对候选字符区域进行距离变换得到的结果,图24为骨架区域的提取结果,图25为对骨架区域进行膨胀处理的结果。
本申请中的字符笔画宽度估计方法,能够用于多种字符类别、多种字体的笔画宽度的分析,相比现有技术,在光照不均匀、对比度较低的场景下的性能有所提升,该方法准确性高,计算简单,无需复杂的硬件设施作为基础,可以满足边缘端部署和检测的需求。
本领域技术人员可以理解,依据上述实施例的字符区域提取方法,能够适应复杂背景下的字符区域提取,可以有效地将噪声等非字符区域进行剔除,提高了字符区域提取的稳定性和准确性,对于光照不均匀、对比度较低的场景下的字符区域检测,也能有效提高稳定性。由于本申请的方法中将待处理图像进行灰度反转处理得到待处理反转图像,对待处理图像和待处理反转图像同时进行处理,使得可以同时检测亮背景上的暗字符以及暗背景上的亮字符。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。 以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

Claims (9)

1.一种字符区域提取方法,其特征在于,包括:
获取待处理图像,若所获取的待处理图像为彩色图像则将其转换为灰度图像;
对所述待处理图像进行灰度反转处理,得到待处理反转图像;
分别将所述待处理图像和所述待处理反转图像作为输入图像,对输入图像进行像素间灰度值的比较以获取灰度盆地,将所述待处理图像的灰度盆地作为第一字符初筛区域,将所述待处理反转图像的灰度盆地作为第二字符初筛区域,其中灰度盆地指图像中相邻连通区域的集合,此集合内所有像素的灰度值都小于或等于一数值,且集合的外边缘像素的灰度值都大于该数值;
根据预设的几何特征,分别对所述第一字符初筛区域和所述第二字符初筛区域进行筛选,对筛选后位置对应的第一字符初筛区域和第二字符初筛区域,根据两者的面积从中选取一个作为候选字符区域;
对候选字符区域进行距离变换,使候选字符区域中每个像素点的值由变换前对应的像素点到最近背景像素点的距离代替;
对进行距离变换后的所述候选字符区域进行形态学处理以获得骨架区域,并对骨架区域进行膨胀处理,计算膨胀后的骨架区域中像素点的值的平均值l i ,利用平均值l i 估计笔画宽度L i ,其中下标i表示第i个骨架区域;
根据笔画宽度对骨架区域进行过滤,得到字符区域,具体包括:
预先设置置信水平p,根据以下公式计算置信水平系数c p
Figure DEST_PATH_IMAGE001
将骨架区域的特征向量x i 代入以下公式计算得到f(x i ):
Figure DEST_PATH_IMAGE002
其中特征向量x i =(L i ,A i ),A i 表示骨架区域的面积,μ表示所有骨架区域的特征向量的均值,∑表示特征向量的协方差矩阵,n表示骨架区域的数量;
保留f(x i )< c p σ的骨架区域作为字符区域,其中σ表示所有骨架区域的特征向量的标准差。
2.如权利要求1所述的字符区域提取方法,其特征在于,所述对输入图像进行像素间灰度值的比较以获取灰度盆地包括:
初始化步骤,向用于存放组块的栈内存入一空组块,该空组块的值为256,组块用于存储像素的坐标,且坐标被存入组块的像素,其灰度值不大于组块的值;选取输入图像中任意一像素作为源像素,标注其已被访问过,并把该源像素作为当前像素;
组块入栈步骤,向栈内存入一空组块,该组块的值为当前值,当前值指当前像素的灰度值;
邻域搜索步骤,按顺序检查当前像素的邻域内的像素是否已被访问过,当检查到未被访问过的像素时则执行第一灰度比较步骤,当所有像素都已被访问过时则执行组块累计步骤;
第一灰度比较步骤,将该未被访问过的像素的灰度值与当前值进行比较,当该未被访问过的像素的灰度值小于当前值时,则将当前像素的坐标存入堆中,将该未被访问过的像素作为新的当前像素,标注其已被访问过,并返回组块入栈步骤,否则,将该未被访问过的像素的坐标存入堆中,标注其已被访问过,返回邻域搜索步骤,其中堆用于存储边界像素的坐标;
组块累计步骤,将当前像素的坐标存入栈顶的组块中,弹出堆中灰度值最小的像素的坐标,将该像素作为新的当前像素,执行第二灰度比较步骤,若堆中灰度值最小的像素不只一个,则按后进先出的原则弹出,若此时堆为空则执行灰度盆地生成步骤;
第二灰度比较步骤,判断此时的当前值是否和上一个当前值相同,若相同则返回邻域搜索步骤,否则执行第三灰度比较步骤;
第三灰度比较步骤,判断当前值是否小于栈顶第二个组块的值,若是则将栈顶组块记录到区域增长历史表中,然后将当前值作为栈顶组块的值,并返回邻域搜索步骤,否则执行组块合并步骤;
组块合并步骤,将栈顶组块记录到区域增长历史表中,然后合并栈顶的两个组块,合并后的组块的值为其中较大者,执行第四灰度比较步骤;
第四灰度比较步骤,判断当前值是否大于栈顶组块的值,若是则返回第三灰度比较步骤,否则返回邻域搜索步骤;
灰度盆地生成步骤,查找区域增长历史表中的父组块和子组块,将所有父组块作为灰度盆地,其中子组块中的所有像素均包含于其父组块中。
3.如权利要求2所述的字符区域提取方法,其特征在于,还包括:每当栈中有更大的组块的值出现时,则将其记录为灰度阈值,每当灰度阈值的变化达到预设的变化步长δ时,则判断区域增长历史表中的组块是否为稳定区域,其中当组块的面积变化率小于预设的面积变化阈值时则判定该组块为稳定区域,组块的面积变化率根据以下公式计算:
Figure DEST_PATH_IMAGE003
其中q(i)表示灰度阈值为i时组块的面积变化率,Q i 表示灰度阈值为i时组块的面积。
4.如权利要求1所述的字符区域提取方法,其特征在于,所述几何特征包括面积、长宽比以及面积与外接矩形面积的比值中的一者或多者。
5.如权利要求1所述的字符区域提取方法,其特征在于,所述对筛选后位置对应的第一字符初筛区域和第二字符初筛区域,根据两者的面积从中选取一个作为候选字符区域,包括:
计算第一字符初筛区域的面积和第二字符初筛区域的面积,以及两者的合并区域的面积;
计算第一字符初筛区域与合并区域的面积比,以及第二字符初筛区域与合并区域的面积比,当两面积比均大于预设的面积比阈值时,选取第一字符初筛区域和第二字符初筛区域中,与合并区域相交面积较大的作为候选字符区域。
6.如权利要求1所述的字符区域提取方法,其特征在于,所述对候选字符区域进行距离变换,使候选字符区域中每个像素点的值由变换前对应的像素点到最近背景像素点的距离代替,包括:
构建一M×N大小的数组F,数组F中的元素与图像中的像素点一一对应,将数组F中与图像子集C对应的元素置为0,其他置为无穷,其中M为图像的长度,N为图像的宽度,图像子集C为图像中所述候选字符区域的集合;
按行遍历图像,从上到下,从左到右;对于当前像素点p,按公式
Figure DEST_PATH_IMAGE004
进行两次计算,其中每次计算时分别将像素点p上方和左面邻域的像素点作为像素点qF(p)表示像素点p在数组F中对应的元素值,F(q)表示像素点q在数组F中对应的元素值,D(p,q)表示像素点p和像素点q之间的距离;
按行遍历图像,从下到上,从右到左;对于当前像素点p,按公式
Figure 601559DEST_PATH_IMAGE004
进行两次计算,其中每次计算时分别将像素点p下方和右面邻域的像素点作为像素点q
对于图像中每个像素点r,将F(r)作为它的值。
7.如权利要求1所述的字符区域提取方法,其特征在于,所述笔画宽度L i =2l i +3。
8.如权利要求1所述的字符区域提取方法,其特征在于,还包括:在对所述待处理图像进行灰度反转处理前,对所述待处理图像进行预处理,所述预处理包括:
获取所述待处理图像的相对直方图数据p hi (i=0,1,…,255),相对直方图数据p hi 表示灰度值为i的像素个数占图像总像素个数的比例;
将原图像中的灰度值k映射为灰度值
Figure DEST_PATH_IMAGE005
,得到预处理后的所述待处理图像,其中
Figure DEST_PATH_IMAGE006
k=0,1,…,255,
Figure DEST_PATH_IMAGE007
表示向下取整。
9.一种计算机可读存储介质,其特征在于,所述介质上存储有程序,所述程序能够被处理器执行以实现如权利要求1至8中任一项所述的字符区域提取方法。
CN202210352578.8A 2022-04-06 2022-04-06 一种字符区域提取方法、计算机可读存储介质 Active CN114445814B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210352578.8A CN114445814B (zh) 2022-04-06 2022-04-06 一种字符区域提取方法、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210352578.8A CN114445814B (zh) 2022-04-06 2022-04-06 一种字符区域提取方法、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114445814A CN114445814A (zh) 2022-05-06
CN114445814B true CN114445814B (zh) 2022-07-08

Family

ID=81359814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210352578.8A Active CN114445814B (zh) 2022-04-06 2022-04-06 一种字符区域提取方法、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114445814B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116092015B (zh) * 2023-04-06 2023-06-27 安徽乾劲企业管理有限公司 一种道路施工状态监测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874909A (zh) * 2017-01-18 2017-06-20 深圳怡化电脑股份有限公司 一种图像字符的识别方法及其装置
CN107045634A (zh) * 2017-05-02 2017-08-15 电子科技大学 一种基于最大稳定极值区域与笔画宽度的文本定位方法
CN107256262A (zh) * 2017-06-13 2017-10-17 西安电子科技大学 一种基于物体检测的图像检索方法
JP2018129689A (ja) * 2017-02-08 2018-08-16 パナソニック株式会社 文字認識システム、文字認識方法、及び文字認識サーバ
CN108898138A (zh) * 2018-05-30 2018-11-27 西安理工大学 基于深度学习的场景文本识别方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019162970A1 (en) * 2018-02-26 2019-08-29 Videonetics Technology Private Limited A system for real-time automated segmentation and recognition of vehicle's license plates characters from vehicle's image and a method thereof.
CN109142383B (zh) * 2018-08-10 2021-07-09 惠州太初科技有限公司 一种基于形态学的字符缺陷检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874909A (zh) * 2017-01-18 2017-06-20 深圳怡化电脑股份有限公司 一种图像字符的识别方法及其装置
JP2018129689A (ja) * 2017-02-08 2018-08-16 パナソニック株式会社 文字認識システム、文字認識方法、及び文字認識サーバ
CN107045634A (zh) * 2017-05-02 2017-08-15 电子科技大学 一种基于最大稳定极值区域与笔画宽度的文本定位方法
CN107256262A (zh) * 2017-06-13 2017-10-17 西安电子科技大学 一种基于物体检测的图像检索方法
CN108898138A (zh) * 2018-05-30 2018-11-27 西安理工大学 基于深度学习的场景文本识别方法

Also Published As

Publication number Publication date
CN114445814A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
CN108596166A (zh) 一种基于卷积神经网络分类的集装箱箱号识别方法
Lu et al. Salient object detection using concavity context
Ye et al. Stroke-model-based character extraction from gray-level document images
CN108121991B (zh) 一种基于边缘候选区域提取的深度学习舰船目标检测方法
US8818099B2 (en) Document image binarization and segmentation using image phase congruency
CN104751142B (zh) 一种基于笔划特征的自然场景文本检测方法
CN107045634B (zh) 一种基于最大稳定极值区域与笔画宽度的文本定位方法
JPH0676053A (ja) 2進入力イメージを縮小する方法
CN110866455B (zh) 一种路面水体检测方法
Mukherjee et al. Enhancement of image resolution by binarization
CN112580383B (zh) 二维码识别方法、装置、电子设备及存储介质
CN114445814B (zh) 一种字符区域提取方法、计算机可读存储介质
CN110689003A (zh) 低照度成像车牌识别方法、系统、计算机设备及存储介质
CN112818952A (zh) 煤岩分界线的识别方法、装置及电子设备
CN113033558A (zh) 一种用于自然场景的文本检测方法及装置、存储介质
CN115082776A (zh) 一种基于图像识别的电能表自动检测系统及方法
CN113538498B (zh) 一种基于局部二值化的印章图像分割方法、电子设备和可读存储介质
CN112365451A (zh) 图像质量等级的确定方法、装置、设备及计算机可读介质
Wang et al. Character segmentation of color images from digital camera
CN109448010B (zh) 一种基于内容特征的四方连续纹样自动生成方法
Gaceb et al. A new mixed binarization method used in a real time application of automatic business document and postal mail sorting.
CN109086766B (zh) 一种基于积分图的多阈值融合冠字号提取方法
CN113128500A (zh) 一种基于Mask-RCNN的非机动车车牌识别方法及系统
CN112837329A (zh) 一种藏文古籍文档图像二值化方法及系统
CN111178111A (zh) 二维码检测方法、电子设备、存储介质及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant