CN111046874A - 一种基于模板匹配的单号识别方法 - Google Patents
一种基于模板匹配的单号识别方法 Download PDFInfo
- Publication number
- CN111046874A CN111046874A CN201911275086.8A CN201911275086A CN111046874A CN 111046874 A CN111046874 A CN 111046874A CN 201911275086 A CN201911275086 A CN 201911275086A CN 111046874 A CN111046874 A CN 111046874A
- Authority
- CN
- China
- Prior art keywords
- image
- character
- single number
- template
- gray
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- 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
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
Abstract
本发明公开了一种基于模板匹配的单号识别方法,包括以下步骤:输入单据图像,并对输入的图像预处理;计算二值图像的外轮廓,得到多个外轮廓点的集合;根据步骤中的外轮廓点的集合,将对图像中的字符进行分割;将所述字符集合中各字符图像与预先设定的模板进行匹配,最终获得字符结果;将获取的字符进行排列组合,获取单号识别结果;本发明通过预先设定的模板像素大小,将筛选出的各单号信息转化为模板像素大小并与模板进行匹配,可快速、高效的识别单号信息,且模型结构简单,小巧,不需要训练数据,计算速度快,精度高。
Description
技术领域
本发明涉及光学字符识别(OCR)技术领域,具体涉及一种基于模板匹配的单号识别方法。
背景技术
图像文字识别技术在诸多现实场景中有着广泛的应用,如何构建准确、高效的识别模型是图像文字识别技术中的最重要的一步。现有的技术方法有多分类的神经网络、基于连接文本提议网络的自然图像文本检测(CTPN) 等。现有的深度学习技术虽然能够较好的满足一般的情况,鲁棒性强,但是需要大量训练数据,模型庞大,计算速度慢,精度较低。
发明内容
为了解决上述技术问题,本发明所采用的技术方案是提供了一种基于模板匹配的单号识别方法,包括以下步骤:
S1、输入单据图像,并对输入的图像预处理;
S2、计算二值图像的外轮廓,得到多个外轮廓点的集合;
S3、根据步骤S2中的外轮廓点的集合,将对图像中的字符进行分割;
S4、将所述字符集合中各字符图像与预先设定的模板进行匹配,最终获得字符结果;
S5、将获取的字符进行排列组合,获取单号识别结果;
其中,预先设定的模板为预设像素的灰度图模板,共62个,包括A-Z、 a-z、0-9。
在上述方法中,所述图像预处理包括步骤:
将输入的单据图像转换为灰度图,将灰度图转化为二值图像。
在上述方法中,所述将输入的单据图像转换为灰度图,将灰度图转化为二值图像包括步骤:
通过BGR或RGB方法将单据图像转灰度图,计算输入图像的维度,如果维度大于2,则通道进行求平均、取整操作后,降维为灰度图像;
将所述灰度图像转二值图像:灰度图的值域为[0,255],设定经验阈值 10,如果某像素大于阈值则输出0,小于阈值则输出1。
在上述方法中,所述步骤S2具体包括以下步骤:
S31、矩形转换:将外轮廓点的集合转换为多个单个矩形方框;
S32、筛选、合并、剪裁:将获得的多个单个矩形方框筛选出指定位置处的矩形方框;将筛选后的矩形方框合并为一个矩形方框,将单号信息从原图中剪裁提取出来,得到单号信息图像;其中,“指定位置”为单号位置在图像中处于固定的位置;
S33、矩形分类:在得到的多个单个矩形方框中进行矩形分类,获得最终的单个字符集合。
在上述方法中,还包括以下步骤:
对步骤S32获得的单号信息图像再通过步骤S31与S32,确定字符串图像。
在上述方法中,所述步骤S4包括以下步骤:
S41、获得各待检测字符图像矩形方框并计算其宽高比;
S42、根据预先设定的模板像素大小,对步骤S41的各待检测字符矩形方框大小转化同等像素;
S43、将S42转化后的各待检测字符矩形方框分别与62个模板进行62 次模板匹配,得到62个匹配结果;取得最大结果的索引,映射到字符列表中,得到相应的字符结果。
本发明通过预先设定的模板像素大小,将筛选出的各单号信息转化为模板像素大小并与模板进行匹配,可快速、高效的识别单号信息,且模型结构简单,小巧,不需要训练数据,计算速度快,精度高。
附图说明
图1为本发明提供的流程示意图;
图2为本发明中{0,o,O}一维宽高比空间示意图;
图3为本发明案例中提供的输入的单据图像示意图;
图4为本发明案例中提供的获得的多个单个矩形方框筛选出指定位置处的矩形方框示意图;
图5为本发明案例中提供的图4的方框合并为一个矩形方框的得到的单号信息示意图;
图6为本发明案例中提供的重新获得字符的轮廓示意图。
具体实施方式
下面结合具体实施方式和说明书附图对本发明做出详细的说明。
如图1所示,本发明提供了一种基于模板匹配的单号识别方法,包括以下步骤:
S1、输入单据图像,并对输入的图像预处理;图像预处理具体为:
首先需要将输入的单据图像转换为灰度图,将灰度图转化为二值图像。可通过BGR、RGB方法将单据图像转灰度图,计算输入图像的维度,如果维度大于2,则输入图像不仅具有高度(H)、宽度(W)前2个维度,还具有通道数(C)第3个维度。将通道C进行求平均、取整操作后,即降维为灰度图像。
将通道C进行求平均、取整操作可通过如下方法或其他现有方法:
import numpy as np#导入numpy处理张量def color_bgr2gray(bgr_img:np.ndarray):#如果是彩图,转灰度图的方法
assert(len(bgr_img.shape)==3)#断言维度为3,否则报错
gray_img=np.mean(bgr_img,axis=2).astype(np.uint8)#求平均、取整
return gray_img#返回灰度图;
再将灰度图像转二值图像:灰度图的值域为[0,255],设定经验阈值10,如果某像素大于阈值则输出0,小于阈值则输出1。
S2、计算二值图像的外轮廓,得到多个外轮廓点的集合;具体可通过 SatoshiSuzuki,KeiichiAbe等人于1985年3月在“Computer Vision Graphics &ImageProcessing”期刊上提出Topological structural analysis of digitized binaryimages by border following”(基于边界跟踪的数字化二值图像拓扑结构分析)中提及的方法实现。
S3、根据步骤S2中的外轮廓点的集合,将对图像中的字符进行分割。具体包括以下步骤:
S31、矩形转换:将外轮廓点的集合转换为多个单个矩形方框;
可通过求出每一个闭合区域的横纵坐标最小值、最大值,组成矩形方框集合;本实施例,一个方框可以由(Xmin,Ymin,Xmax,Ymax)表示。
S32、筛选、合并、剪裁:将获得的多个单个矩形方框筛选出指定位置处的矩形方框;将单号信息从原图像中剪裁提取出来,得到单号信息图像;其中,“指定位置”为单号位置在图像中处于固定的位置,识别系统允许有微小的位置偏差,“单号信息”为26个大写英文字母(A-Z)、26个小写英文字母(a-z)和10个阿拉伯数字(0-9)构成的信息,总计62个字符组成的字符串图像。如输入为一幅图像,该图像包含待检测的‘单号信息’和其他不需要检测的信息,输出为指定位置的单号字符串。
‘筛选’指只保留矩形方框集合中最小值、最大值在‘指定位置’范围内的矩形方框,剔除那些不在对应位置的方框。‘合并’指对所有这些最小值、最大值点求最小值和最大值,得到整体的方框,并将该方框从原图像中分割出来。
S33、矩形分类:在得到的多个单个矩形方框中进行矩形分类,获得最终的单个字符集合;具体为:
根据矩形方框的y轴下边缘坐标是否大于整体高度的1/2将方框分成上、下区,将下半区的方框按照x轴坐标进行从左到右排序,遍历下半区,如果有上半区的中心位置在下半区x中左边缘到右边缘之间,那么将他们组合为一个字符,从上半区删除该方框,这样依次得到单个字符图像,并形成单个字符图像集合。
本实施例,步骤S32获得的图像由于是分割后的单号信息图像,坐标位置改变,为了重新获得字符的轮廓,对步骤S32获得的图像再通过步骤 S31与S32确定字符串图像。
S4、将所述字符集合中各字符图像与预先设定的模板进行匹配,最终获得字符结果。具体包括以下步骤:
本实施例中,预先设定的模板为预设像素的灰度图模板,共62个(A-Z、 a-z、0-9);具体可为宽度为57像素、高度为88像素的灰度图模板,模板的字体格式不做要求,以待检测图像的字体为准,本发明中采用‘cv2.FONT_HERSHEY_COMPLEX’字体,与汉字不同,26个字符的不同字体外观上区别不大。
基于上述预先设定好的模板,步骤S4具体包括以下步骤:
S41、获得各待检测字符图像矩形方框并计算其宽高比;具体通过以下公式计算:
rate=(Xmax-Xmin)/(Ymax-Ymin);
S42、根据预先设定的模板像素大小,对步骤S41的各待检测字符矩形方框大小转化同等像素;具体本实施例使用双线性内插值算法将待测字符尺寸转化宽度57像素、高度88像素的矩形方框。
S43、将S42转化后的各待检测字符矩形方框分别与62个模板进行62 次模板匹配,得到62个匹配结果;取得最大结果的索引,映射到字符列表中,得到相应的字符结果,其中
采用TM_CCOEFF进行上述的匹配,公式如下:
其中,
式中,w是模板的宽度,h是模板的高度,是模板所有点的均值,T(x',y')是模板原来点(x',y')的值,T'(x',y')是模板减去均值后点 (x',y')的值,是待匹配图的均值,I(x+x',y+y')是待匹配图原来点(x+x',y+y')的值,I'(x+x',y+y')是待匹配图减去均值后点 (x+x',y+y')的值,采用模板和图像间的乘法操作,所以较大的数表示匹配程度较高(匹配越好),R(x,y)值越大。
TM_CCOEFF算法可以比较比模板大的图像,并返回一个2维矩阵,而我们比较的图像和模板尺寸相同,是一种特殊情况,因此本实施例(x,y) 只能取(0,0),只返回一个值。
且字符识别具体如下式:
其中,p是字符识别结果,r(rate)是宽高比。
根据字符的形态学规律,本实施例将62个字符定义为3种类别:
第一类为绝对可分字符,如‘A’、‘a’、‘B’、‘b’等,这类字符的占比最多。‘绝对可分’的意思是无论该字符的宽高比如何改变,他周围的字符是什么样子,都可以唯一地、绝对地、无条件地分辨出该字符。
第二类为原宽高比绝对可分字符,该类字符有且仅有 {0,o,O}{C,c}{U,u}{V,v}{W,w}{X,x}{Z,z},其中,“原宽高比绝对可分”是在不改变宽高比的条件下,无论他周围的字符是什么样子,都可以唯一地、绝对地分辨出该字符。
第三类为绝对不可分,但相对可分字符,该类字符有且仅有{S,s},其中,“绝对不可分,但相对可分”的意思是即使在不改变宽高比的条件下,也不能唯一地、绝对地分辨出该字符,但可以通过它周围字符的相对大小和位置来唯一地、相对地确定该字符。那么由上述定义可知,绝对可分是“原宽高比绝对可分”的充分非必要条件,“原宽高比绝对可分”是“绝对不可分,但相对可分”的充分非必要条件,三类字符的分辨难度依次提高。由于第三类字符数量少,分辨难度高,故只考虑第一类、第二类字符。如果识别结果为第一类字符,根据定义可以直接输出结果;如果识别结果为第二类字符,因为模板匹配已经对原图进行了缩放,不能直接识别该字符,但可以根据宽高比对索引进行修正,如图2所示,以{0,o,O}为例,{0,o,O}的宽高比分别是 {0.686,1.0,0.776}。对于一个预测为{0,o,O}的字符,最终识别结果以宽高比为准。
S5、将获取的字符进行排列组合,获取单号识别结果;本实施例,通过各字符出现的x坐标从小到大排序组合,获取单号识别结果。
本发明方法可快速、高效的识别单号信息,且模型结构简单,小巧,不需要训练数据,计算速度快,精度高。
下面通过具体案例说明本发明。
如图3-5所示,分别为输入的单据图像,获得的多个单个矩形方框筛选出指定位置处的矩形方框和筛选后的矩形方框合并为一个矩形方框的得到的单号信息;
图6为重新获得字符的轮廓后的结果;
再以矩形的x坐标由小到大(从左到右)依次对6个字符进行如下操作:
以“i”为例:进行操作:尺寸转化,记录宽高比,获得图像i,及其宽高比0.431,将获得的图像i与预设的62个模板进行匹配,匹配62次的最大 (最优)匹配结果为“i”,判断匹配结果是否在 {0,o,O}{C,c}{U,u}{V,v}{W,w}{X,x}{Z,z}(以后简称“集合”)中,匹配结果不在集合中,说明不需要宽高比修正,则输出匹配结果为“i”;
再以“o”为例:进行操作:尺寸转化,记录宽高比操作结果,获得图像0,获得及其宽高比0.952,将获得图像0于模板匹配,匹配62次的最大 (最优)匹配结果为:阿拉伯数字“0”,判断匹配结果是否在集合中,匹配结果在集合中,那么需要将获得图像根据宽高比对索引进行修正,修正结果为:小写字母“o”,则输出结果:“o”,最后根据将获得的各图像根据其出现的x坐标从小到大排序组合,最终获得单号识别结果。
通过本方法对医院的1000例住院单号进行识别,平均用时0.15s/张。后续对代码进行优化,例如将模板匹配从串行操作更换为并行操作,平均用时还存在提升空间。单个字符的ACC达到0.981,其中仅包含2种错误:将‘1’识别为‘l’的错误结果占全部结果的1.04%,将‘S’识别为‘s’的错误结果占全部结果的0.83%。因为{1,l}和{S,s}并不是绝对可分字符,而是相对可分字符,所以仅通过模板匹配和宽高比无法区分它们,后续可以通过编码规则正确识别它们。
本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
Claims (6)
1.一种基于模板匹配的单号识别方法,其特征在于,包括以下步骤:
S1、输入单据图像,并对输入的图像预处理;
S2、计算二值图像的外轮廓,得到多个外轮廓点的集合;
S3、根据步骤S2中的外轮廓点的集合,将对图像中的字符进行分割;
S4、将所述字符集合中各字符图像与预先设定的模板进行匹配,最终获得字符结果;
S5、将获取的字符进行排列组合,获取单号识别结果;
其中,预先设定的模板为预设像素的灰度图模板,共62个,包括A-Z、a-z、0-9。
2.如权利要求1所述的基于模板匹配的单号识别方法,其特征在于,所述图像预处理包括步骤:
将输入的单据图像转换为灰度图,将灰度图转化为二值图像。
3.如权利要求2所述的基于模板匹配的单号识别方法,其特征在于,所述将输入的单据图像转换为灰度图,将灰度图转化为二值图像包括步骤:
通过BGR或RGB方法将单据图像转灰度图,计算输入图像的维度,如果维度大于2,则通道进行求平均、取整操作后,降维为灰度图像;
将所述灰度图像转二值图像:灰度图的值域为[0,255],设定经验阈值10,如果某像素大于阈值则输出0,小于阈值则输出1。
4.如权利要求1所述的基于模板匹配的单号识别方法,其特征在于,所述步骤S2具体包括以下步骤:
S31、矩形转换:将外轮廓点的集合转换为多个单个矩形方框;
S32、筛选、合并、剪裁:将获得的多个单个矩形方框筛选出指定位置处的矩形方框;将筛选后的矩形方框合并为一个矩形方框,将单号信息从原图中剪裁提取出来,得到单号信息图像;其中,“指定位置”为单号位置在图像中处于固定的位置;
S33、矩形分类:在得到的多个单个矩形方框中进行矩形分类,获得最终的单个字符集合。
5.如权利要求4所述的基于模板匹配的单号识别方法,其特征在于,还包括以下步骤:
对步骤S32获得的单号信息图像再通过步骤S31与步骤S32,确定字符串图像。
6.如权利要求4所述的基于模板匹配的单号识别方法,其特征在于,所述步骤S4包括以下步骤:
S41、获得各待检测字符图像矩形方框并计算其宽高比;
S42、根据预先设定的模板像素大小,对步骤S41的各待检测字符矩形方框大小转化同等像素;
S43、将S42转化后的各待检测字符矩形方框分别与62个模板进行62次模板匹配,得到62个匹配结果;取得最大结果的索引,映射到字符列表中,得到相应的字符结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911275086.8A CN111046874A (zh) | 2019-12-12 | 2019-12-12 | 一种基于模板匹配的单号识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911275086.8A CN111046874A (zh) | 2019-12-12 | 2019-12-12 | 一种基于模板匹配的单号识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111046874A true CN111046874A (zh) | 2020-04-21 |
Family
ID=70236389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911275086.8A Pending CN111046874A (zh) | 2019-12-12 | 2019-12-12 | 一种基于模板匹配的单号识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111046874A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654072A (zh) * | 2016-03-24 | 2016-06-08 | 哈尔滨工业大学 | 一种低分辨率医疗票据图像的文字自动提取和识别系统与方法 |
CN106875546A (zh) * | 2017-02-10 | 2017-06-20 | 大连海事大学 | 一种增值税发票的识别方法 |
CN108734168A (zh) * | 2018-05-18 | 2018-11-02 | 天津科技大学 | 一种手写数字的识别方法 |
CN108830278A (zh) * | 2018-05-17 | 2018-11-16 | 河南思维轨道交通技术研究院有限公司 | 一种字符串图像识别方法 |
CN109284756A (zh) * | 2018-08-01 | 2019-01-29 | 河海大学 | 一种基于ocr技术的计算机终端保密检查方法 |
-
2019
- 2019-12-12 CN CN201911275086.8A patent/CN111046874A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654072A (zh) * | 2016-03-24 | 2016-06-08 | 哈尔滨工业大学 | 一种低分辨率医疗票据图像的文字自动提取和识别系统与方法 |
CN106875546A (zh) * | 2017-02-10 | 2017-06-20 | 大连海事大学 | 一种增值税发票的识别方法 |
CN108830278A (zh) * | 2018-05-17 | 2018-11-16 | 河南思维轨道交通技术研究院有限公司 | 一种字符串图像识别方法 |
CN108734168A (zh) * | 2018-05-18 | 2018-11-02 | 天津科技大学 | 一种手写数字的识别方法 |
CN109284756A (zh) * | 2018-08-01 | 2019-01-29 | 河海大学 | 一种基于ocr技术的计算机终端保密检查方法 |
Non-Patent Citations (1)
Title |
---|
张炘中: "《汉字识别技术》", 30 September 1992 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111325203B (zh) | 一种基于图像校正的美式车牌识别方法及系统 | |
CN111626190B (zh) | 基于聚类分区进行刻度识别的水位监测方法 | |
US20210374466A1 (en) | Water level monitoring method based on cluster partition and scale recognition | |
CN111476109A (zh) | 票据处理方法、票据处理装置和计算机可读存储介质 | |
CN113128442A (zh) | 基于卷积神经网络的汉字书法风格识别方法和评分方法 | |
CN111626292B (zh) | 一种基于深度学习技术的楼宇指示标识的文字识别方法 | |
CN111523622B (zh) | 基于特征图像自学习的机械臂模拟手写笔迹方法 | |
CN113537227B (zh) | 一种结构化文本识别方法及系统 | |
CN110598566A (zh) | 图像处理方法、装置、终端和计算机可读存储介质 | |
CN114155527A (zh) | 一种场景文本识别方法和装置 | |
CN112069900A (zh) | 基于卷积神经网络的票据文字识别方法及系统 | |
CN112507782A (zh) | 文本图像的识别方法及装置 | |
CN113554027A (zh) | 一种报销单据图像文本信息校准与提取方法 | |
CN115393861B (zh) | 一种手写体文本精准分割方法 | |
CN102737240B (zh) | 分析数字文档图像的方法 | |
CN116704516B (zh) | 一种用于水溶肥料包装的视觉检测方法 | |
CN115880566A (zh) | 一种基于视觉分析的智能阅卷系统 | |
CN110363196B (zh) | 一种倾斜文本的文字精准识别的方法 | |
CN116824608A (zh) | 基于目标检测技术的答题卡版面分析方法 | |
CN114581928A (zh) | 一种表格识别方法及系统 | |
CN113065404A (zh) | 基于等宽文字片段的火车票内容检测方法与系统 | |
CN116612478A (zh) | 一种脱机手写汉字的评分方法、装置及存储介质 | |
Munir et al. | Automatic character extraction from handwritten scanned documents to build large scale database | |
CN114387592B (zh) | 一种复杂背景下字符定位和识别方法 | |
CN114241486A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200421 |
|
RJ01 | Rejection of invention patent application after publication |