CN108830278B - 一种字符串图像识别方法 - Google Patents
一种字符串图像识别方法 Download PDFInfo
- Publication number
- CN108830278B CN108830278B CN201810476192.1A CN201810476192A CN108830278B CN 108830278 B CN108830278 B CN 108830278B CN 201810476192 A CN201810476192 A CN 201810476192A CN 108830278 B CN108830278 B CN 108830278B
- Authority
- CN
- China
- Prior art keywords
- image
- character
- character string
- dividing line
- pixel
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/625—License plates
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Character Input (AREA)
Abstract
本发明涉及图像识别领域,具体是一种字符串图像识别方法,包括以下步骤:(1)将一幅图像转换成只包括黑白两种颜色的图像;(2)在图像中计算出字符串的最小图像范围;(3)将字符串的最小图像范围之外的部分剪裁掉,只保留包含有字符串的最小区域;(4)采用“递归式”方法,通过不断尝试画分割线,根据画出的分割线与字符串是否相交决定继续分割还是退回重新画分割线,来判别每个字符的边界范围,将字符串中每个字符所占据的区域计算出来;(5)将图像中每个字符区域的像素信息数据化,与字库中数组比较,数组中每个字节都相等则输出这个字符,图像中字符串所有字符识别完成连接起来,形成字符串。
Description
技术领域
本发明涉及图像识别领域,具体是一种字符串图像识别方法。
背景技术
在图像识别领域,针对字符的识别,以及从图像中提取其它数据的方法,多采用“光学字符识别(Optical Character Recognition)”技术,简称OCR技术。OCR技术主要通过“单元模式匹配”法和“特征提取法”两种方式进行字符识别。
单元模式匹配法(Pattern Matching)是将每一个字符与已保存的标准字体、字号的位图文件进行“不严格”的比较,找出最为相似的字符,认定为目标字符。
特征提取法(Feature Extraction)是先将每个字符分解为很多个不同的字符特征,例如水平线、斜线、曲线等,然后将这些特征与已保存的字符特征相比较,选出特征最为接近的字符,认定为目标字符。
对于OCR技术的两种方式之一,单元模式匹配法在速度上较快,但这种方式是采用“最为近似”作为选定标准,对于被识别的内容中出现不同字体的情况,会导致“正确的字符反而不是最近似”的情况,进而出现识别错误。
OCR技术的另一种方式,特征提取法需要先将被识别字符作“特征识别”,以将字符拆分成不同的特征,因此在拆分难度上较大,以及识别时间上较长。同时,这种方式还存在两个缺点,一是被识别字符拆分出的特征可能会出现顺序不一致的情况,二是在汉字中存在着“多个汉字的特征极为相似甚至基本相同”的情况,这都给特征识别的方式带来了一些不确定因素。
另外,OCR技术只利用了字符的形态特征,而未利用图像的色彩特征,因此失去了一些识别速率。
申请号CN201210189898.2名称为“基于连通区域和间隙模型的车牌字符分割方法”采用连通区域去噪的方法分割字符图像,需要反复大量计算,识别速率较低。
申请号CN200810062050.7名称为“基于粗网格特征提取和BP神经网络的车牌字符识别方法”采用神经网络方法识别字符图像,在训练过程中往往需要对参数进行人为调整。
发明内容
本发明的目的就是解决上述技术问题,提供一种字符串图像识别方法,包括以下步骤:
(1)图像二值化:将一幅图像转换成只包括黑白两种颜色的图像;
(2)字符串边界定位:在图像中计算出字符串的最小图像范围;
(3)字符串区域裁剪:将字符串的最小图像范围之外的部分剪裁掉,只保留包含有字符串的最小区域;
(4)字符分割:采用一种“递归式”的方法,通过不断尝试画分割线,根据画出的分割线与字符串是否相交决定继续分割还是退回重新画分割线,来判别每个字符的边界范围,将字符串中每个字符所占据的区域计算出来;
(5)字符识别:将图像中每个字符区域的像素信息数据化,与字库中数组比较,数组中每个字节都相等则输出这个字符,图像中字符串所有字符识别完成连接起来,形成字符串。
所述步骤(1)图像二值化包括以下子步骤:
(1.1)色彩转换:遍历图像中的每个像素,针对每个像素分别取出它的“红”、“绿”、“蓝”三个颜色分量,假设分别为Ri、Gi、Bi,然后按照下面公式计算得到灰度值:
Di = Ri * Pr + Gi * Pg + Bi * Pb
其中,Di是像素转换后的灰度值;Pr、Pg、Pb分别是“红”、“绿”、“蓝”三个颜色分量的乘法系数,表示“红”、“绿”、“蓝”三个颜色分量对于转换后的黑白图像所起的作用程度,取值范围介于0.0~1.0之间,并且它们三者相加的和,应当等于1.0。
将Pr、Pg、Pb三者的值都设置为0.333,此时像素转换后的灰度值即为“红”、“绿”、“蓝”三个颜色分量的平均值,也可以用下面公式表示:
Di = (Ri + Gi + Bi) / 3
将整幅图像中每个像素变换完毕之后,即会得到一张只包含有“灰度分量”的灰度图像
(1.2)计算阈值:统计出灰度图像中的最大灰度值和最小灰度值,然后将二者的平均值作为阈值;
(1.3)像素二值化:使用计算的阈值,遍历灰度图像中的每个像素,将图像中大于阈值的灰度变为白色,将小于阈值的灰度变为黑色;
(1.4)颜色反转:首先判断二值化图像是否需要反转,判断的方法是,分别统计白色像素和黑色像素的数量,比较黑白像素数量的多少,如果黑色像素少于白色则需要做反转,否则,如果白色像素少于黑色像素则不需要做反转,当判断的结果是“需要反转”后,则遍历二值化图像中的每个像素,将黑白颜色依次互换即可。
所述步骤(2)字符串边界定位包括以下子步骤:
(2.1)先依次遍历二值化图像的每一行,统计出每一行中前景色像素的数量;
(2.2)在遍历完所有行之后,可以得到一个一维数组,数组中的每一个元素对应图像的每一行,表示每一行中前景色像素的数量;
(2.3)在数组中找出“第一个”不为零的元素和“最后一个”不为零的元素,记录下这两个元素在数组中“序号”,这两个“序号”即是字体所在区域外接矩形的上边缘和下边缘。
所述步骤(4)字符分割包括以下步骤:
(4.1)初始化:在此步骤中,初始化一个变量N,它的初始值设置1;
(4.2)先在图像最左边的外侧第N像素处画出一条分割线,由于这条分割线在图像左边缘外侧,假设图像中的坐标从0开始,所以它在图像上的横坐标是-N,然后执行第4.3步;
(4.3)从当前分割线向右方迈步。迈步的步长是“字号”或“字号的一半”,在此处,如果是第一次到达图像的此坐标处,则使用“字号”作为步长,然后执行第4.4步;如果是第二次到达图像的此坐标处则使用“字号的一半”作为步长,然后执行第4.4步;如果是第三次到达图像的此坐标处,则说明当前的分割线位置是错误的,将当前分割线取消,并回退前一次迈步,然后重新执行第4.3步,此时,还有一种情况,如果此时已经位于图像最左边,则无法回退前一次迈步,在这种情况下,清除所有分割线,将N的值增加1,然后执行第4.2步;
(4.4)在迈出后的位置,尝试画一条分割线。如果分割线与字体不相交,即分割线所在的纵线上没有字体像素,则执行第4.5步操作,相反,如果分割线与字体相交,则执行第4.6步操作;
(4.5)将这条分割线与前一条分割线之间的区域“假定”为是一个字符,将这个区域裁剪出来,并做“字符识别”尝试,如果字符识别失败,则执行第4.6步,相反,如果字符识别成功,则这次迈步“暂时”认定为“迈步成功”,并执行第4.7步;
(4.6)进入此步骤,说明先前迈步失败,此时,应将之前画的分割线取消,并将迈步回退,然后重新执行第4.3步;
(4.7)判断当前所在位置是否已经到达图像的最右端,如果未到达,执行第4.3步,以继续查找下一条分割线,如果已经到达,则执行第4.8步;
(4.8)进入此步骤,说明所有的分割线都已经成功查找完成。将每一次迈步过程中识别出的字符依次连接,形成字符串。
所述步骤(5)字符识别包括以下子步骤:
(5.1)字符居中:在“字符分割”步骤得到的结果中,多数情况下,图像中字符是居中的,但某些汉字字母、标点符号是不居中的,除此之外,在“字符分割”步骤中得到的结果图像,它的高度可能不等于字号,它的宽度可能不等于字号或字号的一半,因此,在做居中化之前,需要先将图像的尺寸调整正确;
(5.2)图像数据化:将把字符图像转换成二进制数据,转换方式如下:将图像中的前景颜色认为是1,将背景颜色认为是0,按照先列后行的顺序依次遍历图像中的每个像素,在遍历某一行时,将行内像素认为是一个bit位,组成相应的字节数据数组;
(5.3)字库对照:将数据化后的结果数组,分别与字库中的每个字符对应的数组做对比,如果数组中的每个字节全部相等,则认为此字符就是图像中的字符,取出它的GBK编码,识别成功;否则认为识别失败;对于图像中的字符串,将每个字符都认识出来之后,将每个字节的GBK编码依次连接,形成字符串。
本发明具有以下有益效果:
(1)由于没有使用“形态学”方法,因此不需要图像处理所必需的大规模计算,大大提高字符识别速率;
(2)能够实现半角字符和全角字符混合排版识别;
(3)在识别过程中,因为是以严格的字符边界,以及全角半角字符宽度为依据,因此识别准确度较高。
附图说明
图1为本发明字符串边界定位示例图。
图2为本发明字符串裁剪示意图。
图3为本发明字符分割示意图。
图4为本发明字符分割步骤流程图。
具体实施方式
下面结合附图对本发明进一步说明。
一种字符串图像识别方法,包括以下步骤:
1、图像二值化:将一幅图像转换成只包括黑白两种颜色的图像;
2、字符串边界定位:在图像中计算出字符串的最小图像范围;
3、字符串区域裁剪:将字符串的最小图像范围之外的部分剪裁掉,只保留包含有字符串的最小区域;
4、字符分割:采用一种“递归式”的方法,通过不断尝试画分割线,根据画出的分割线与字符串是否相交决定继续分割还是退回重新画分割线,来判别每个字符的边界范围,将字符串中每个字符所占据的区域计算出来;
5、字符识别:将图像中每个字符区域的像素信息数据化,与字库中数组比较,数组中每个字节都相等则输出这个字符,图像中字符串所有字符识别完成连接起来,形成字符串。
步骤1中图像二值化包括以下子步骤:
1.1、色彩转换:遍历图像中的每个像素,针对每个像素分别取出它的“红”、“绿”、“蓝”三个颜色分量,假设分别为Ri、Gi、Bi,然后按照下面公式计算得到灰度值:
Di = Ri * Pr + Gi * Pg + Bi * Pb
其中,Di是像素转换后的灰度值;Pr、Pg、Pb分别是“红”、“绿”、“蓝”三个颜色分量的乘法系数,表示“红”、“绿”、“蓝”三个颜色分量对于转换后的黑白图像所起的作用程度,取值范围介于0.0~1.0之间,并且它们三者相加的和,应当等于1.0。
将Pr、Pg、Pb三者的值都设置为0.333,此时像素转换后的灰度值即为“红”、“绿”、“蓝”三个颜色分量的平均值,也可以用下面公式表示:
Di = (Ri + Gi + Bi) / 3;
将整幅图像中每个像素变换完毕之后,即会得到一张只包含有“灰度分量”的灰度图像;
1.2、计算阈值:统计出灰度图像中的最大灰度值和最小灰度值,然后将二者的平均值作为阈值;
1.3、像素二值化:使用计算的阈值,遍历灰度图像中的每个像素,将图像中大于阈值的灰度变为白色,将小于阈值的灰度变为黑色;
1.4、颜色反转:首先判断二值化图像是否需要反转,判断的方法是,分别统计白色像素和黑色像素的数量,比较黑白像素数量的多少,如果黑色像素少于白色则需要做反转,否则,如果白色像素少于黑色像素则不需要做反转,当判断的结果是“需要反转”后,则遍历二值化图像中的每个像素,将黑白颜色依次互换即可。
步骤2字符串边界定位包括以下子步骤:
2.1、先依次遍历二值化图像的每一行,统计出每一行中前景色像素的数量;
2.2、在遍历完所有行之后,可以得到一个一维数组,数组中的每一个元素对应图像的每一行,表示每一行中前景色像素的数量,图1字符串能够得到这样的数组:
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 5, 18, 33, 14, 27, 17, 26, 17, 17,17, 21, 19, 5, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,];
2.3、在数组中找出“第一个”不为零的元素和“最后一个”不为零的元素,记录下这两个元素在数组中“序号”,对于图1,序号分别是10和25,这两个“序号”即是字体所在区域外接矩形的上边缘和下边缘。
步骤3中字符串区域裁剪即将上边缘以上和下边缘以下的图像部分裁剪掉,只保留上下边缘之间的部分。对于图1,只保留从第13到第25行之间的部分。
步骤4中字符分割要求字符串所使用的字库必须满足以下条件:
1)字库中的全角字符所占的“区域”的宽度和高度等于字号。例如图2所使用的字号是16号,该字库中的全角字符所占的“区域”的宽度和高度等于16。注意,这里指的是所占的“区域”的宽度和高度,不是指字符本身的宽度和高度;
2)字库中的半角字符所占的“区域”的高度等于字号,宽度等于字号的一半。例如图2所使用的字库中的半角字符所占的“区域”的高度和宽度分别等于16和8;
3)字库中的每一个字符,包括全角和半角,它所在区域的最左边的列或最右边的列必须为背景色。
所述字符分割,即是在图像中针对每个字符找出一根对应的纵向分割线,使得分割线“恰好落在两个字符之间”,然后依据分割线将字符分割成若干块,如图3所示。
步骤4中字符分割,是一种“递归式”的方法,以不断向前“迈步尝试”和向后“回退”的方式,来判别每个字符的边界范围,包括以下子步骤:
4.1、初始化:在此步骤中,初始化一个变量N,它的初始值设置1;
4.2、先在图像最左边的外侧第N像素处画出一条分割线,由于这条分割线在图像左边缘外侧,假设图像中的坐标从0开始,所以它在图像上的横坐标是-N,然后执行第3步;
4.3、从当前分割线向右方迈步。迈步的步长是“字号”或“字号的一半”,在此处,如果是第一次到达图像的此坐标处,则使用“字号”作为步长,然后执行第4步;如果是第二次到达图像的此坐标处则使用“字号的一半”做为步长,然后执行第4步;如果是第三次到达图像的此坐标处,则说明当前的分割线位置是错误的,将当前分割线取消,并回退前一次迈步,然后重新执行第3步,此时,还有一种情况,如果此时已经位于图像最左边,则无法回退前一次迈步,在这种情况下,清除所有分割线,将N的值增加1,然后执行第2步;
4.4、在迈出后的位置,尝试画一条分割线。如果分割线与字体不相交,即分割线所在的纵线上没有字体像素,则执行第5步操作,相反,如果分割线与字体相交,则执行第6步操作;
4.5、将这条分割线与前一条分割线之间的区域“假定”为是一个字符,将这个区域裁剪出来,并做“字符识别”尝试,如果字符识别失败,则执行第6步,相反,如果字符识别成功,则这次迈步“暂时”认定为“迈步成功”,并执行第7步;
4.6、进入此步骤,说明先前迈步失败,此时,应将之前画的分割线取消,并将迈步回退,然后重新执行第3步;
4.7、判断当前所在位置是否已经到达图像的最右端,如果未到达,执行第3步,以继续查找下一条分割线,如果已经到达,则执行第8步;
4.8、进入此步骤,说明所有的分割线都已经成功查找完成。将每一次迈步过程中识别出的字符依次连接,形成字符串。
上述步骤中存在的跳转过程如图4所示。
步骤5字符识别包括以下子步骤:
5.1、字符居中:在“字符分割”步骤得到的结果中,多数情况下,图像中字符是居中的,但某些汉字字母、标点符号是不居中的,例如,下划线“_”在上下不居中,在某些字库中,中括号“[”和“]”是左右不居中的,因此需要对这些字符图像做“居中化”处理,除此之外,在“字符分割”步骤中得到的结果图像,它的高度可能不等于字号,它的宽度可能不等于字号或字号的一半,因此,在做居中化之前,需要先将图像的尺寸调整正确;
5.2、图像数据化:将把字符图像转换成二进制数据,转换方式如下:将图像中的前景颜色认为是1,将背景颜色认为是0,按照先列后行的顺序依次遍历图像中的每个像素,在遍历某一行时,将行内像素认为是一个bit位,组成相应的字节数据。值得说明的是,对于不同的字号来说,对每个字符数据化后的字节数量是不同的,16号字库全角字符和半角字符分别是32个字节和16个字节,20号字库的全角字符和半角字符分别是60个字节和40个字节;
5.3、字库对照:将数据化后的结果数组,分别与字库中的每个字符对应的数组做对比,如果数组中的每个字节全部相等,则认为此字符就是图像中的字符,取出它的GBK编码,识别成功;否则认为识别失败。最后,对于图像中的字符串,将每个字符都认识出来之后,将每个字节的GBK编码依次连接,形成字符串,至此,图像识别全部完成。
本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
Claims (5)
1.一种字符串图像识别方法,其特征在于:包括以下步骤:
(1)图像二值化:将一幅图像转换成只包括黑白两种颜色的图像;
(2)字符串边界定位:在图像中计算出字符串的最小图像范围;
(3)字符串区域裁剪:将字符串的最小图像范围之外的部分剪裁掉,只保留包含有字符串的最小区域;
(4)字符分割:采用一种“递归式”的方法,通过不断尝试画分割线,根据画出的分割线与字符串是否相交决定继续分割还是退回重新画分割线,来判别每个字符的边界范围,将字符串中每个字符所占据的区域计算出来;
所述步骤(4)字符分割包括以下步骤:
(4.1)初始化:在此步骤中,初始化一个变量N,它的初始值设置1;
(4.2)先在图像最左边的外侧第N像素处画出一条分割线,由于这条分割线在图像左边缘外侧,假设图像中的坐标从0开始,所以它在图像上的横坐标是-N,然后执行第4.3步;
(4.3)从当前分割线向右方迈步;
迈步的步长是“字号”或“字号的一半”,在此处,如果是第一次到达图像的此坐标处,则使用“字号”作为步长,然后执行第4.4步;如果是第二次到达图像的此坐标处则使用“字号的一半”作为步长,然后执行第4.4步;如果是第三次到达图像的此坐标处,则说明当前的分割线位置是错误的,将当前分割线取消,并回退前一次迈步,然后重新执行第4.3步,此时,还有一种情况,如果此时已经位于图像最左边,则无法回退前一次迈步,在这种情况下,清除所有分割线,将N的值增加1,然后执行第4.2步;
(4.4)在迈出后的位置,尝试画一条分割线,如果分割线与字体不相交,即分割线所在的纵线上没有字体像素,则执行第4.5步操作,相反,如果分割线与字体相交,则执行第4.6步操作;
(4.5)将这条分割线与前一条分割线之间的区域“假定”为是一个字符,将这个区域裁剪出来,并做“字符识别”尝试,如果字符识别失败,则执行第4.6步,相反,如果字符识别成功,则这次迈步“暂时”认定为“迈步成功”,并执行第4.7步;
(4.6)进入此步骤,说明先前迈步失败,此时,应将之前画的分割线取消,并将迈步回退,然后重新执行第4.3步;
(4.7)判断当前所在位置是否已经到达图像的最右端,如果未到达,执行第4.3步,以继续查找下一条分割线,如果已经到达,则执行第4.8步;
(4.8)进入此步骤,说明所有的分割线都已经成功查找完成;
将每一次迈步过程中识别出的字符依次连接,形成字符串;
(5)字符识别:将图像中每个字符区域的像素信息数据化,与字库中数组比较,数组中每个字节都相等则输出这个字符,图像中字符串所有字符识别完成连接起来,形成字符串。
2.根据权利要求1所述的一种字符串图像识别方法,其特征在于:所述步骤(1)图像二值化包括以下子步骤:
(1.1)色彩转换:遍历图像中的每个像素,针对每个像素分别取出它的“红”、“绿”、“蓝”三个颜色分量,假设分别为Ri、Gi、Bi,然后按照下面公式计算得到灰度值:
Di = Ri * Pr + Gi * Pg + Bi * Pb
其中,Di是像素转换后的灰度值;Pr、Pg、Pb分别是“红”、“绿”、“蓝”三个颜色分量的乘法系数,表示“红”、“绿”、“蓝”三个颜色分量对于转换后的黑白图像所起的作用程度,取值范围介于0.0~1.0之间,并且它们三者相加的和,应当等于1.0;
将Pr、Pg、Pb三者的值都设置为0.333,此时像素转换后的灰度值即为“红”、“绿”、“蓝”三个颜色分量的平均值,也可以用下面公式表示:
Di = (Ri + Gi + Bi) / 3
将整幅图像中每个像素变换完毕之后,即会得到一张只包含有“灰度分量”的灰度图像
(1.2)计算阈值:统计出灰度图像中的最大灰度值和最小灰度值,然后将二者的平均值作为阈值;
(1.3)像素二值化:使用计算的阈值,遍历灰度图像中的每个像素,将图像中大于阈值的灰度变为白色,将小于阈值的灰度变为黑色;
(1.4)颜色反转:首先判断二值化图像是否需要反转,判断的方法是,分别统计白色像素和黑色像素的数量,比较黑白像素数量的多少,如果黑色像素少于白色则需要做反转,否则,如果白色像素少于黑色像素则不需要做反转,当判断的结果是“需要反转”后,则遍历二值化图像中的每个像素,将黑白颜色依次互换即可。
3.根据权利要求1所述的一种字符串图像识别方法,其特征在于:所述步骤(2)字符串边界定位包括以下子步骤:
(2.1)先依次遍历二值化图像的每一行,统计出每一行中前景色像素的数量;
(2.2)在遍历完所有行之后,可以得到一个一维数组,数组中的每一个元素对应图像的每一行,表示每一行中前景色像素的数量;
(2.3)在数组中找出“第一个”不为零的元素和“最后一个”不为零的元素,记录下这两个元素在数组中“序号”,这两个“序号”即是字体所在区域外接矩形的上边缘和下边缘。
4.根据权利要求1所述的一种字符串图像识别方法,其特征在于:所述步骤(5)字符识别包括以下步骤:
(5.1)字符居中:在“字符分割”步骤得到的结果中,多数情况下,图像中字符是居中的,但某些汉字字母、标点符号是不居中的,除此之外,在“字符分割”步骤中得到的结果图像,它的高度可能不等于字号,它的宽度可能不等于字号或字号的一半,因此,在做居中化之前,需要先将图像的尺寸调整正确;
(5.2)图像数据化:将把字符图像转换成二进制数据,转换方式如下:将图像中的前景颜色认为是1,将背景颜色认为是0,按照先列后行的顺序依次遍历图像中的每个像素,在遍历某一行时,将行内像素认为是一个bit位,组成相应的字节数据数组;
(5.3)字库对照:将数据化后的结果数组,分别与字库中的每个字符对应的数组做对比,如果数组中的每个字节全部相等,则认为此字符就是图像中的字符,取出它的GBK编码,识别成功;否则认为识别失败;对于图像中的字符串,将每个字符都认识出来之后,将每个字节的GBK编码依次连接,形成字符串。
5.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至4任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810476192.1A CN108830278B (zh) | 2018-05-17 | 2018-05-17 | 一种字符串图像识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810476192.1A CN108830278B (zh) | 2018-05-17 | 2018-05-17 | 一种字符串图像识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108830278A CN108830278A (zh) | 2018-11-16 |
CN108830278B true CN108830278B (zh) | 2021-11-02 |
Family
ID=64148236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810476192.1A Active CN108830278B (zh) | 2018-05-17 | 2018-05-17 | 一种字符串图像识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108830278B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766893A (zh) * | 2019-01-09 | 2019-05-17 | 北京数衍科技有限公司 | 适于购物小票的图片文字识别方法 |
CN110047137B (zh) * | 2019-04-23 | 2023-02-21 | 武汉轻工大学 | 抛物面的绘制方法、装置、设备及存储介质 |
CN111046874A (zh) * | 2019-12-12 | 2020-04-21 | 北京小白世纪网络科技有限公司 | 一种基于模板匹配的单号识别方法 |
US11527057B2 (en) * | 2020-09-30 | 2022-12-13 | Realtek Singapore Private Limited | System and method for license plate recognition |
CN114492699B (zh) * | 2022-04-07 | 2022-08-09 | 成都普什信息自动化有限公司 | 一种玻瓶激光码检测方法及检测系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310435A (zh) * | 2012-03-21 | 2013-09-18 | 华中科技大学 | 将垂直投影和最优路径相结合对车牌字符进行分割的方法 |
CN103324930A (zh) * | 2013-06-28 | 2013-09-25 | 浙江大学苏州工业技术研究院 | 一种基于灰度直方图二值化的车牌字符分割方法 |
CN103971091A (zh) * | 2014-04-03 | 2014-08-06 | 北京首都国际机场股份有限公司 | 飞机机号自动识别方法 |
CN104636744A (zh) * | 2013-11-11 | 2015-05-20 | 方正国际软件(北京)有限公司 | 一种数字切分方法及系统 |
CN104715252A (zh) * | 2015-03-12 | 2015-06-17 | 电子科技大学 | 一种动态模板结合像素点的车牌字符分割方法 |
CN106485246A (zh) * | 2016-09-19 | 2017-03-08 | 北京小米移动软件有限公司 | 字符识别方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10049310B2 (en) * | 2016-08-30 | 2018-08-14 | International Business Machines Corporation | Image text analysis for identifying hidden text |
-
2018
- 2018-05-17 CN CN201810476192.1A patent/CN108830278B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310435A (zh) * | 2012-03-21 | 2013-09-18 | 华中科技大学 | 将垂直投影和最优路径相结合对车牌字符进行分割的方法 |
CN103324930A (zh) * | 2013-06-28 | 2013-09-25 | 浙江大学苏州工业技术研究院 | 一种基于灰度直方图二值化的车牌字符分割方法 |
CN104636744A (zh) * | 2013-11-11 | 2015-05-20 | 方正国际软件(北京)有限公司 | 一种数字切分方法及系统 |
CN103971091A (zh) * | 2014-04-03 | 2014-08-06 | 北京首都国际机场股份有限公司 | 飞机机号自动识别方法 |
CN104715252A (zh) * | 2015-03-12 | 2015-06-17 | 电子科技大学 | 一种动态模板结合像素点的车牌字符分割方法 |
CN106485246A (zh) * | 2016-09-19 | 2017-03-08 | 北京小米移动软件有限公司 | 字符识别方法及装置 |
Non-Patent Citations (6)
Title |
---|
"License plate character segmentation algorithm based on variable-length template matching";Ligang Miao;《2012 IEEE 11th International Conference on Signal Processing》;20130404;第947-951页 * |
"Line ,word and Character Segmentation of Manipuri Machine Printed Text";Keshab Nath 等;《2014 Sixth International Conference on Computational Intelligence and Communication Networks》;20151116;第203-206页 * |
"一种新的车牌字符分割预处理方法";付鹏 等;《仪表技术》;20110430(第4期);第18-21页 * |
"中文日期词的分割与识别";张重阳 等;《计算机研究与发展》;20171231(第12期);第2085-2090页 * |
"基于变步长的旋转投影变换法";方承志 等;《计算机技术与发展》;20130930;第23卷(第9期);第107-118页 * |
"基于灰度图像的车牌定位及字符分割算法研究";孟杰;《中国优秀硕士学位论文全文数据库信息科技辑》;20090815;第2009年卷(第8期);I138-1090 * |
Also Published As
Publication number | Publication date |
---|---|
CN108830278A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108830278B (zh) | 一种字符串图像识别方法 | |
US5410611A (en) | Method for identifying word bounding boxes in text | |
US8908961B2 (en) | System and methods for arabic text recognition based on effective arabic text feature extraction | |
US5539841A (en) | Method for comparing image sections to determine similarity therebetween | |
US8224092B2 (en) | Word detection method and system | |
CN102236800B (zh) | 经历ocr过程的文本的单词识别 | |
Pal et al. | Identification of different script lines from multi-script documents | |
US9430703B2 (en) | Method for segmenting text words in document images using vertical projections of center zones of characters | |
US9275030B1 (en) | Horizontal and vertical line detection and removal for document images | |
US6473524B1 (en) | Optical object recognition method and system | |
CN116824608A (zh) | 基于目标检测技术的答题卡版面分析方法 | |
Ha et al. | Document page decomposition using bounding boxes of connected components of black pixels | |
JP4049560B2 (ja) | 網点除去方法及びシステム | |
JP5601027B2 (ja) | 画像処理装置及び画像処理プログラム | |
US9152876B1 (en) | Methods and systems for efficient handwritten character segmentation | |
CN113421256B (zh) | 一种点阵文本行字符投影分割方法及装置 | |
CN109409370B (zh) | 一种远程桌面字符识别方法和装置 | |
EP3561725B1 (en) | Optical character recognition of connected characters | |
JPH0721817B2 (ja) | 文書画像処理方法 | |
US20030123730A1 (en) | Document recognition system and method using vertical line adjacency graphs | |
CN115995080B (zh) | 基于ocr识别的档案智能管理系统 | |
JPH09305707A (ja) | 画像抽出方式 | |
CN117095423B (zh) | 一种银行单据字符的识别方法及装置 | |
JPH11175662A (ja) | パターン認識方法および装置とパターン認識方法をコンピュータに実行させるためのプログラムを記録した記録媒体 | |
NarayananV et al. | SEGMENTATION OF CHARACTERS IN HISTORIC DOCUMENTS BASED ON SCALE SPACE TECHNIQUE |
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 |