CN115578734B - 一种基于金字塔特征的单一字符图像匹配识别方法 - Google Patents
一种基于金字塔特征的单一字符图像匹配识别方法 Download PDFInfo
- Publication number
- CN115578734B CN115578734B CN202211167667.1A CN202211167667A CN115578734B CN 115578734 B CN115578734 B CN 115578734B CN 202211167667 A CN202211167667 A CN 202211167667A CN 115578734 B CN115578734 B CN 115578734B
- Authority
- CN
- China
- Prior art keywords
- image
- character
- value
- pixel
- sample
- 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/19—Recognition using electronic means
- G06V30/19007—Matching; Proximity measures
- G06V30/19073—Comparing statistics of pixel or of feature values, e.g. histogram matching
-
- 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/15—Cutting or merging image elements, e.g. region growing, watershed or clustering-based techniques
-
- 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
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/16—Image preprocessing
- G06V30/162—Quantising the image signal
-
- 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/18—Extraction of features or characteristics of the image
- G06V30/1801—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
- G06V30/18019—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Character Input (AREA)
Abstract
本发明公开了一种基于金字塔特征的单一字符图像匹配识别方法,包括:将待识别的单一字符图像A经灰度、二值化、边缘切割、缩放转换,得到图像E;提取字符样本库中的每个字符样本图像的lev层金字塔特征以及图像E的lev层金字塔特征,得到大小为n行1列的字符样本特征向量Sii和待识别字符特征向量W,逐一计算待识别字符特征向量W与每一个字符样本特征向量Sii的欧氏距离,得到距离统计量F;计算距离统计量F的均值和均方差,判断欧氏距离最小的字符样本图像的欧氏距离与均值的差是否小于负R倍均方差;若小于,则待识别的单一字符图像A匹配成功。基于此,本发明可有效保证字符识别的准确率和识别效率。
Description
技术领域
本发明涉及计算机视觉与图像识别技术领域,具体涉及一种基于金字塔特征的单一字符图像匹配识别方法。
背景技术
随着可见光、红外、雷达等各种传感器的广泛部署应用,各类专用业务系统产生了大量图像数据;另外,得益于移动互联网的普及,图像数据的生成速度也在加快。面对堆积如山的视频和照片,单一依赖人工进行图像识别的途径显然已经力不从心,必须借助计算机视觉与图像处理技术,进行自动化图像识别。字符识别是图像识别的重要内容之一,旨在采用智能化手段,对一幅图像中的最具代表性的字符特征进行提取、识别,进而达到对图像中的物体进行个体身份识别的目的;字符识别技术在智能交通管理、军事侦察和卫星影像数据处理等方面具有广泛的应用需求。
字符识别过程一般包括图像预处理、字符图像定位、字符图像分割和字符图像匹配识别四个步骤。针对字符图像分割(第三步骤)后得到的单一字符图片,传统采用待识别字符与标准字符库进行逐一图像矩阵比较,选择差异最小的作为匹配识别结果的字符图像匹配识别(第四步骤)方法。传统方法对质量较好、扰动较小的字符图片的识别成功率较高,但对于质量较差、扰动较大的字符图片很难正确识别,很难达到人眼识别的准确度;而且当字符图片尺寸增大时,图像矩阵比较成倍增加了计算量,使得识别效率降低。
发明内容
针对现有技术中存在的上述问题,本发明提供一种基于金字塔特征的单一字符图像匹配识别方法,其在智能交通管理、军事侦察和卫星影像数据处理等方面具有广阔应用前景;其中,本发明所基于的图像金字塔是一种采用多种分辨率表达图像的结构形式,金字塔底部是高分辨率的原始图像,顶部是低分辨率的近似图像,当从底部向金字塔上层移动时,各层近似图像的尺寸和分辨率就会随之降低。
本发明公开了一种基于金字塔特征的单一字符图像匹配识别方法,包括:
提取字符样本库中的每个字符样本图像的lev层金字塔特征,得到字符样本特征向量组S;其中,S={Sii,ii=1,2,…LEN},Sii为第ii个字符样本特征向量,LEN为字符样本库中字符样本图像的总数;
将待识别的单一字符图像A转化为灰度图像B;
将灰度图像B转化为二值图像C;
对二值图像C的边缘进行切割,去除空白区域,得到图像D;
将图像D缩放为M行N列像素大小,得到图像E;
提取图像E的lev层金字塔特征,得到大小为n行1列的待识别字符特征向量W;
逐一计算待识别字符特征向量W与每一个字符样本特征向量Sii的欧氏距离,得到距离统计量F;
计算距离统计量F的均值和均方差,判断欧氏距离最小的字符样本图像的欧氏距离与均值的差是否小于负R倍均方差;若小于,则待识别的单一字符图像A匹配成功。
作为本发明的进一步改进,提取字符样本库中的每个字符样本图像的lev层金字塔特征,得到字符样本特征向量组S;具体包括:
构建字符样本库;其中,字符样本库是专用业务系统中可能出现的字符全集的标准化数据和全集中某些字符的若干典型采样数据的集合,这些数据以文件方式存放在某个专用目录下;标准化数据是指包含特定字符集并以规定字型表示的字符图像数据;例如:飞机尾部侧翼喷涂的飞机编号由1个字母和4位数字组成,其特定字符集是不超过26个字母(A~Z)和10个数字(0~9)的集合,以黑体字型图片作为标准化数据。通常基于专用图像采集设备、特定拍摄场景和相同图像预处理过程多次采样得到的某个字符图像相似性很高,具有代表性,任选其中一个作为典型采样数据。某个字符的典型采样数据与其标准化数据会有一定差异,将典型采样数据也以图片文件方式加入到字符样本库中。某个字符样本图片文件的格式、大小、颜色无强制性要求,但主文件名首位必须是该字符,对于同一字符样本存在多个对应数据的,从主文件名第二位开始以数字加以区分。如:京.jpg,京1.jpg,京0.jpg,京01.jpg等等,均表示字符“京”的样本;
令ii=1;
2.1读取字符样本库中第ii个字符样本图像a;
2.2将字符样本图像a转化为灰度图像b;
2.3将灰度图像b转化为二值图像c;
2.4对二值图像c的边缘进行切割,去除空白区域,得到图像d;
2.5将图像d缩放为M行N列像素大小,得到图像e;
2.6提取图像e的lev层金字塔特征,得到大小为n行1列的字符样本特征向量Sii;
2.7令ii=ii+1,重复上述2.1至2.7操作,直至ii=LEN,输出字符样本特征向量组S={Sii,ii=1,2,…LEN}。
作为本发明的进一步改进,
将灰度图像B转化为二值图像C,具体包括:
取灰度图像B中像素值的最大值和最小值,分别记为B_max和B_min;
遍历灰度图像B中的所有像素点,将像素值大于或等于阀值BT的赋值为1,否则赋值为0,得到0-1二值图像C;
或,
将灰度图像b转化为二值图像c,具体包括:
取灰度图像b中像素值的最大值和最小值,分别记为g_max和g_min;
遍历灰度图像b中的所有像素,将像素值大于或等于阀值T的赋值为1,否则赋值为0,得到0-1二值图像c。
作为本发明的进一步改进,
对二值图像C的边缘进行切割,去除空白区域,得到图像D;具体包括:
获得二值图像C的像素尺寸,包括:高度mC,宽度nC;
令:top=1,bottom=mC,left=1,right=nC;
若二值图像C的top行的像素值的和为0且top<=mC时,则一直执行top=top+1;
若二值图像C的bottom行的像素值的和为0且bottom>1时,则一直执行bottom=bottom-1;
若二值图像C的left列的像素值的和为0且left<nC时,则一直执行left=left+1;
若二值图像C的right列的像素值的和为0且right>=1时,则一直执行right=right-1;
按照左上点坐标(left,top),高度hD=bottom-top,宽度wD=right-left,裁剪二值图像C,得到边缘切割后的图像D;
或,
对二值图像c的边缘进行切割,去除空白区域,得到图像d;具体包括:
获得二值图像c的像素尺寸,包括:高度mc,宽度nc;
令:top’=1,bottom’=mc,left’=1,right’=nc;
若二值图像c的top’行的像素值的和为0且top’<=mc时,则一直执行top’=top’+1;
若二值图像c的bottom’行的像素值的和为0且bottom’>1时,则一直执行bottom’=bottom’-1;
若二值图像c的left’列的像素值的和为0且left’<nc时,则一直执行left’=left’+1;
若二值图像c的right’列的像素值的和为0且right’>=1时,则一直执行right’=right’-1;
按照左上点坐标(left’,top’),高度hd=bottom’-top’,宽度wd=right’-left’,裁剪二值图像c,得到边缘切割后的图像d。
作为本发明的进一步改进,采用最近邻域插值法将图像D缩放为M行N列像素大小,得到图像E;或,采用最近邻域插值法将图像d缩放为M行N列像素大小,得到图像e。
作为本发明的进一步改进,
提取图像E的lev层金字塔特征,得到大小为n行1列的待识别字符特征向量W,具体包括:
1)、获得图像E的像素尺寸,包括:高度hE、宽度wE,初始化特征向量W为0行0列,令h0=0,w0=0,js=0,n=0;
2)、令i=1;
3)、求第i层金字塔图像的单位分辨率尺寸,以整数值像素高度h和宽度w表示;其中:
4)、比较h与h0以及w与w0,若h等于h0且w等于w0,则转步骤5);否则,令h0=h,w0=w,js=0,转步骤6);
5)、js值加1;判断js值是否大于等于4,若大于等于4,则转步骤7);否则转步骤6);
6)、令j=1;
7)、令hj=j+h-1;若hj>hE,则hj=hE;
8)、令k=1;
9)、令wk=k+w-1;若wk>wE,则wk=wE;
10)、计算图像e构成的像素矩阵中第j到hj行,第k到wk列的所有像素值之和,记为s;
11)、计算s对应的像素个数x=(hj-j+1)×(wk-k+1);
13)、将vs值添加到特征向量W的末尾,使其列数加1,且令n=n+1;
14)、令k=k+w,如果k<=wE,则转步骤9),否则,转步骤15);
15)、令j=j+h,如果j<=hE,则转步骤7),否则,转步骤16);
16)、令i=i+1,如果i<=lev,则转步骤3),否则,转步骤17);
17)、将特征向量W进行转置,得到大小为n行1列的待识别字符特征向量W;
或,
提取图像e的lev层金字塔特征,得到大小为n行1列的字符样本特征向量Sii,具体包括:
一)、获得图像e的像素尺寸,包括:高度he、宽度we,初始化特征向量Pt为0行0列,令h0=0,w0=0,js=0,n=0;
二)、令i=1;
三)、求第i层金字塔图像的单位分辨率尺寸,以整数值像素高度h和宽度w表示;其中:
四)、比较h与h0以及w与w0,若h等于h0且w等于w0,则转步骤五);否则,令h0=h,w0=w,js=0,转步骤六);
五)、js值加1;判断js值是否大于等于4,若大于等于4,则转步骤七);否则转步骤六);
六)、令j=1;
七)、令hj=j+h-1;若hj>he,则hj=he;
八)、令k=1;
九)、令wk=k+w-1;若wk>we,则wk=we;
十)、计算图像e构成的像素矩阵中第j到hj行,第k到wk列的所有像素值之和,记为s;
十一)、计算s对应的像素个数x=(hj-j+1)×(wk-k+1);
十三)、将vs值添加到特征向量Pt的末尾,使其列数加1,且令n=n+1;
十四)、令k=k+w,如果k<=we,则转步骤九),否则,转步骤十五);
十五)、令j=j+h,如果j<=he,则转步骤七),否则,转步骤十六);
十六)、令i=i+1,如果i<=lev,则转步骤三),否则,转步骤十七);
十七)、令Sii赋值为Pt的转置向量,得到大小为n行1列的第ii个字符样本特征向量Sii。
作为本发明的进一步改进,逐一计算待识别字符特征向量W与每一个字符样本特征向量Sii的欧氏距离,得到距离统计量F;具体包括:
令ii=1;
7.1计算待识别字符特征向量W和第ii个字符样本特征向量Sii的欧氏距离,记为Fii;
7.2令ii=ii+1,重复上述7.1至7.2操作,直至ii=LEN,得到待识别字符与字符样本库中每一个字符样本的距离统计量F={Fii,ii=1,2,…LEN}。
作为本发明的进一步改进,计算距离统计量F的均值和均方差,判断欧氏距离最小的字符样本图像的欧氏距离与均值的差是否小于负R倍均方差;若小于,则待识别的单一字符图像A匹配成功;具体包括:
计算距离统计量F的均值men和均方差sgm;
查找距离统计量F中最小值首次出现的位置pp和最小值Fpp;
计算最小值Fpp与均值men的差值,若差值小于负R倍均方差,则最小值对应的字符样本库中第pp个字符样本图像与待识别的单一字符图像A匹配成功;否则认定待识别字符按照预设置信度匹配失败,无法识别。
作为本发明的进一步改进,R取值为2,表示成功识别的置信度为95.44%。
与现有技术相比,本发明的有益效果为:
针对字符图像分割后得到的单一字符图像,本发明借鉴图像金字塔结构原理,在保持图像尺寸不变的前提下,从上往下逐层构造金字塔图像,并计算各层图像单位分辨率下的像素均值,得到原始字符图像的金字塔特征向量;通过与预设字符样本库的逐一特征对比统计,按照给定置信度判别字符图像识别结果。相比于传统方法,本发明中的字符样本库设置更加灵活,提取到的字符图像特征更加明显,字符图像识别方法更加科学严谨。通过大量试验实测数据表明,本发明通过对字符样本库建立、字符图像特征提取和字符匹配判别三个环节的创新设计,不但易于工程实现,而且可有效保证字符识别的准确率和识别效率。
附图说明
图1为本发明一种实施例公开的基于金字塔特征的单一字符图像匹配识别方法的流程图;
图2为本发明一种实施例公开的字符样本库所在目录中的文件显示图;
图3为本发明一种实施例公开的图片质量较好、扰动较小的字符样例;
图4为本发明一种实施例公开的图片质量较差、扰动较大的字符样例;
图5为图4中字符图片“201.jpg”和“801.jpg”的识别结果;
图6为图4中字符图片“D01.jpg”和“Q01.jpg”的识别结果;
图7为图4中字符图片“鄂01.jpg”和“琼01.jpg”的识别结果;
图8为图4中字符图片“皖01.jpg”和“新01.jpg”的识别结果;
图9为图5中字符图片“鄂61.jpg”和“赣109.jpg”的识别结果;
图10为图5中字符图片“赣111.jpg”和“赣195.jpg”的识别结果;
图11为图5中字符图片“黑104.jpg”和“黑131.jpg”的识别结果;
图12为图5中字符图片“冀100.jpg”和“冀105.jpg”的识别结果;
图13为图5中字符图片“蒙23.jpg”和“蒙106.jpg”的识别结果;
图14为图5中字符图片“湘44.jpg”和“豫33.jpg”的识别结果。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
实施例:
如图1所示,本发明提供一种基于金字塔特征的单一字符图像匹配识别方法,该实施例基于Matlab实现,可应用于智能交通管理中的蓝标车牌识别系统中;包括:
S1、提取字符样本库中的每个字符样本图像的lev层金字塔特征,得到字符样本特征向量组S;其中,S={Sii,ii=1,2,…LEN},Sii为第ii个字符样本特征向量,LEN为字符样本库中字符样本图像的总数;
具体包括:
S11、构建字符样本库;其中,
本实施例的字符样本库是蓝标车牌识别系统中可能出现的字符全集的标准化数据和全集中某些字符的若干典型采样数据的集合,蓝标车牌识别系统中可能出现的字符全集包括31个省份简称、字母A~Z(不含I和O)和数字0~9。因蓝标车牌字符字型为特殊字体(防止伪造),本实施例中采用黑体字型替代。典型采样数据是系统正常工作时采样得到的与其标准化数据有一定差异的字符样本。这些数据以jpg文件格式存放在专用目录wordlib下,有效文件总数LEN=120个;字符样本图片文件的格式、大小、颜色无强制性要求,但主文件名首位必须是该字符,对于同一字符样本存在多个对应数据的,从主文件名第二位开始以数字加以区分;通过浏览器查看wordlib目录下的字符样本图片文件效果如图2所示。
S12、令ii=1。
S13、读取wordlib目录下的第ii个字符样本图像(其包含路径的文件名为a);若字符样本图像a为彩色,则将字符样本图像a转化为灰度图像b;
在Matlab中的执行语句是:
b=imread(a);
if ndims(b)==3b=rgb2gray(b);
end
S14、将灰度图像b转化为二值图像c,在Matlab中自定义的函数名是pls_gray2BW01();
具体包括:
S141、取灰度图像b中像素值的最大值和最小值,分别记为g_max和g_min;
在Matlab中的执行语句是:
g_max=double(max(max(b)));
g_min=double(min(min(b)));
S142、计算阀值T;
在Matlab中的执行语句是:
T=round(g_max-(g_max-g_min)/3);
S143、遍历灰度图像b中的所有像素,将像素值大于或等于阀值T的赋值为1,否则赋值为0,得到0-1二值图像c。
在Matlab中的执行语句是:
S15、对二值图像c的边缘进行切割,去除四周空白区域,得到图像d;在Matlab中自定义的函数名是qiege();
具体包括:
S151、获得图像c的像素尺寸;
在Matlab中的执行语句是:
[mc,nc]=size(c);
S152、令:top’=1,bottom’=mc,left’=1,right’=nc;
S153、如果图像c的top’行的像素值的和为0,且top’<=mc条件满足时,一直执行top’=top’+1;
在Matlab中的执行语句是:
while sum(c(top’,:))==0&&top’<=mc
top’=top’+1;
end
S154、如果图像c的bottom’行的像素值的和为0,且bottom’>1条件满足时,一直执行bottom’=bottom’-1;
在Matlab中的执行语句是:
while sum(c(bottom’,:))==0&&bottom’>1
bottom’=bottom’-1;
end
S155、如果图像c的left’列的像素值的和为0,且left’<nc条件满足时,一直执行left’=left’+1;
在Matlab中的执行语句是:
while sum(c(:,left’))==0&&left’<nc
left’=left’+1;
end
S156、如果图像c的right’列的像素值的和为0,且right’>=1条件满足时,一直执行right’=right’-1;
在Matlab中的执行语句是:
while sum(c(:,right’))==0&&right’>=1
right’=right’-1;
end
S157、按照左上点坐标(left’,top’),高度hd=bottom’-top’,宽度wd=right’-left’,裁剪图像c,得到边缘切割后的图像d。
在Matlab中的执行语句是:
hd=bottom’-top’;
wd=right’-left’;
d=imcrop(c,[left’top’wd hd]);
S16、采用最近邻域插值法将图像d缩放为M行N列像素大小,得到图像e;其中,本实施例中M取值32,N取值24。
在Matlab中的执行语句是:
e=imresize(d,[M N],'nearest');
S17、提取图像e的lev层金字塔特征,得到大小为n行1列的特征向量Sii。本实施例中lev取值16,在Matlab中自定义的函数名是BWtoPyramid();
具体包括:
S171、获得图像e的像素尺寸,包括:高度he、宽度we,初始化特征向量Pt为0行0列,令h0=0,w0=0,js=0,n=0;
在Matlab中的执行语句是:
[he,we]=size(e);
Pt=zeros(0,0);%初始化为0行0列的向量
h0=0;w0=0;js=0;n=0;
S172、令i=1;
S173、求第i层金字塔图像的单位分辨率尺寸,以整数值像素高度h和宽度w表示;其中:
在Matlab中的执行语句是:
h=round(he/i);%四舍五入取整
w=round(we/i);%四舍五入取整
在本实施例中,按照lev=16和M=32、N=24的设置,第1层金字塔图像的单位分辨率尺寸为32*24,第16层金字塔图像的单位分辨率尺寸为2*2。
S174、判断:如果h等于h0且w等于w0,则转S175;否则,令h0=h,w0=w,js=0。转S176;
S175、js值加1;判断:如果js值大于等于4,则转S1717;否则转S176。
S174和步S175在Matlab中的执行语句是:
S176、令j=1。
S177、令hj=j+h-1;如果hj>he,则hj=he。
在Matlab中的执行语句是:
hj=j+h-1;
if hj>he hj=he;end
S178、令k=1。
S179、令wk=k+w-1;如果wk>we,则wk=we。
在Matlab中的执行语句是:
wk=k+w-1;
if wk>we wk=we;end
S1710、计算图像e构成的像素矩阵中第j到hj行,第k到wk列的所有像素值之和,记为s。
S1711、计算s对应的像素个数x=(hj-j+1)×(wk-k+1)。
S1713、将vs值添加到特征向量Pt的末尾,使其列数加1,且令n=n+1。S1710至S1713在Matlab中的执行语句是:
s=sum(sum(e(j:hj,k:wk)));
x=(hj-j+1)*(wk-k+1);
vs=s/x;
Pt=[Pt vs];
n=n+1;
S1714、令k=k+w,如果k<=we,则转S179,否则,转S1715。
S1715、令j=j+h,如果j<=he,则转S177,否则,转S1716。
S1716、令i=i+1,如果i<=lev,则转S173,否则,转S1717。
S1717、令Sii赋值为Pt的转置向量,得到第ii个字符样本的特征向量Sii(n行1列)。按照本实施例中lev=16和M=32、N=24的设置,此处n值计算结果为546。
S18、令ii=ii+1,如果ii<=LEN=120,则转至S13,否则,S1结束,得到字符样本特征向量组S={Sii,ii=1,2,…LEN}。
以上S1在Matlab中自定义的函数名是pls_cos_fun(),函数体内容如下:
function[S,imgNames,LEN]=pls_cos_fun(input_args)%读取wordlib目录下的字符样本文件,提取字符特征向量组S
global M;%全局变量M
global N;%全局变量N
%M=32;N=24;%统一调整为高32*宽24个像素的图像
pname='wordlib';
pname=strcat(pname,'\');
pathfile=strcat(pname,'*.*');
imgNames=dir(pathfile);
LEN=length(imgNames);
for ii=1:LEN
fname=imgNames(ii).name;
a=strcat(pname,fname);
b=imread(a);%读入字符图片文件a
if ndims(b)==3b=rgb2gray(b);end%如果是彩色图像,则转为灰度图b
c=pls_gray2BW01(b);%将灰度图b转换为0-1二值图c
d=qiege(c);%切割二值图像c周边的空白区域
e=imresize(d,[M N],'nearest');%对图像d做缩放处理,得到图e:高M,宽N,缩放图像时采用最近邻域插值算法
[Pt,n]=BWtoPyramid(e);%对0-1二值图按照金字塔方式逐层提取特征,返回n行1列的图像金字塔特征向量Pt。
S(:,:,ii)=Pt;
end
end
S2、选择并读取待识别的字符图像A,将其转化为灰度图像B;
在Matlab中的执行语句是:
[fn,pn,~]=uigetfile('*.*','选择待识别的字符图片');
A=[pn,fn];%包含路径的字符图片文件A
B=imread(A);%读取待识别的字符A。
if ndims(B)==3B=rgb2gray(B);end%如果B是彩色图像,则转为灰度图
S3、将字符灰度图像B转化为0-1二值图像C;在Matlab中自定义的函数名是pls_gray2BW01(),实现过程与S14相同。
S4:对二值图像C的边缘进行切割,去除空白区域,得到图像D;在Matlab中自定义的函数名是qiege(),实现过程与S15相同。
S5:采用最近邻域插值法将图像D缩放为M行N列像素大小,得到图像E;本实施例中M取值32,N取值24;
在Matlab中的执行语句是:
E=imresize(D,[M N],'nearest');
S6、提取图像E的lev层金字塔特征,得到大小为n行1列的待识别字符特征向量W;在Matlab中自定义的函数名是BWtoPyramid(),实现过程与S17相同。
S7、逐一计算待识别字符特征向量W与每一个字符样本特征向量Sii的欧氏距离,得到距离统计量F;
具体包括:
S71、令ii=1;
S72、计算待识别字符特征向量W和第ii个字符样本特征向量Sii的欧氏距离,记为Fii;
在Matlab中的执行语句是:
F(ii)=pdist([W S(:,:,ii)]','euclidean');%计算欧氏距离
S73、令ii=ii+1,如果ii<=LEN=120,则转至S72,否则,S7结束,得到待识别字符与字符样本库中每一个字符样本的距离统计量F={Fii,ii=1,2,…LEN}。
S8、计算距离统计量F的均值和均方差,判断欧氏距离最小的字符样本图像的欧氏距离与均值的差是否小于负R倍均方差;若小于,则待识别的单一字符图像A匹配成功,否则认定待识别字符图像按照给定置信度匹配失败,无法识别。
具体包括:
S81、计算距离统计量F的均值men和均方差sgm;
在Matlab中的执行语句是:
men=mean(F);%求均值
sgm=std(F,0);%求均方差
S82、查找距离统计量F中最小值首次出现的位置pp和最小值Fpp=F(1,pp);
在Matlab中的执行语句是:
pos=find(F==min(F));%查找最小值在F中的位置
pp=pos(1);%取最小值首次出现的位置,F(1,pp)为最小值
S83、计算最小值Fpp与均值men的差值,如果小于负R倍均方差,则最小值对应的字符样本库中第pp个图像样本与待识别字符图像匹配成功,否则认定待识别字符按照给定置信度匹配失败,无法识别。本实施例中R取值为2,表示成功识别的置信度为95.44%。
Matlab中的执行语句是:
dis=F(1,pp)-men;
sgm2=-2*sgm;
if dis<=sgm2 title(imgNames(pp).name);%距离值最小,且差值小于或等于-2倍均方差,识别成功正确率95%以上,显示字符样本库中对应的文件名。
else title('匹配失败!');%距离值最小,但差值大于-2倍均方差,匹配成功正确率达不到95%,显示“匹配失败”
end
本实施例基于Matlab R2012a win64运行环境,其中,字符样本库所在目录wordlib中的文件显示如图2所示。从S2开始多次执行本实施例程序,分别选择质量较好、较差的两类待识别字符图片文件进行字符图像识别。图片质量较好、扰动较小的字符样例如图3所示;图片质量较差、扰动较大,但依然可以人工辨别的字符样例如图4所示。图5~图8是对8幅图片质量较好、扰动较小的字符样例的匹配识别情况,图9~图14是对12幅图片质量较差、扰动较大的字符样例的匹配识别情况,均匹配识别正确。
从以上样例识别过程来看,采用本发明的字符图像匹配识别方法,对质量较好的字符图片的识别成功率与传统方法差异不大,但对于质量较差的字符图片的识别优势明显,字符图像识别正确率显著提高,基本达到了人眼识别的准确度。
本发明通过对预设字符样本库的适当管理(在标准化数据之外,灵活引入典型采用数据)和字符图像金字塔特征向量提取,增大了两幅字符图像欧氏距离最小时成功匹配的概率;采取按照给定置信度判别字符图像识别结果的方法,保证了匹配识别结论的可信度。对比试验表明,该方法适用于基于专用图像采集设备、特定拍摄场景和相同图像预处理过程的专用业务系统,易于工程实现,综合性能比传统方法具有更优的字符识别效果。本发明所提供的方法的时间复杂度和空间复杂度都很低,可操作性和实用性很强。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。例如但不限于以下几点:
1、关于字符样本库的大小问题:样本库有效文件总数LEN一般应大于45,这样才能保证S7中得到的距离统计量F具有统计学特征。增加典型采样数据可以扩大样本库规模,也有利于提高专用业务系统中字符图像识别的成功率,但随着样本库总量的增加,也带来S7中欧氏距离计算量的增加,因此在实际应用中LEN的取值应平衡匹配识别成功率与识别效率的关系。
2、关于字符图像的金字塔特征层数lev值的确定问题:本发明中lev值的确定与字符图像的归一化尺寸M*N有关,理论上lev值越大,图像的金字塔特征越显著。但在实际应用中,lev值增大会加大计算量,同时因为像素值取整原因,对于M、N有不可再分的可能,因此,建议当S173中得到的某层金字塔图像的单位分辨率尺寸接近2*2时,或随着层数增加,单位分辨率尺寸数次(本实施例S175中为4次)不发生变化时,即认为达到了字符图像金字塔层数lev的最佳值。
3、关于特征向量的比较问题:S7中借助欧氏距离比较两个特征向量之间的距离,距离越小,相似性越高。在实际应用中,也可以尝试其它方法比较两个向量之间的距离,比如方向余弦、曼哈顿距离、契比雪夫距离、闵可夫斯基距离、汉明距离、杰卡德距离等。以上距离的计算在Matlab中均可通过函数pdist()调用完成,本文不再赘述。
4、对于字符样本库已经固化的专用业务系统,可以将执行S18后得到的字符样本金字塔特征向量组S按照二进制文件方式进行存储,以后程序启动时,直接读入使用,这样可以极大提高系统开机速度。
Claims (9)
1.一种基于金字塔特征的单一字符图像匹配识别方法,其特征在于,包括:
提取字符样本库中的每个字符样本图像的lev层金字塔特征,得到字符样本特征向量组S;其中,S={Sii,ii=1,2,…LEN},Sii为第ii个字符样本特征向量,LEN为字符样本库中字符样本图像的总数;
将待识别的单一字符图像A转化为灰度图像B;
将灰度图像B转化为二值图像C;
对二值图像C的边缘进行切割,去除空白区域,得到图像D;
将图像D缩放为M行N列像素大小,得到图像E;
提取图像E的lev层金字塔特征,得到大小为n行1列的待识别字符特征向量W;
逐一计算待识别字符特征向量W与每一个字符样本特征向量Sii的欧氏距离,得到距离统计量F;
计算距离统计量F的均值和均方差,判断欧氏距离最小的字符样本图像的欧氏距离与均值的差是否小于负R倍均方差;若小于,则待识别的单一字符图像A匹配成功。
2.如权利要求1所述的基于金字塔特征的单一字符图像匹配识别方法,其特征在于,提取字符样本库中的每个字符样本图像的lev层金字塔特征,得到字符样本特征向量组S;具体包括:
构建字符样本库;其中,所述字符样本库包括对应业务系统可能出现的字符全集的标准化数据以及全集中某些字符的若干典型采样数据,标准化数据和典型采样数据共同作为字符样本图像,主文件名首位为该字符、从主文件名第二位开始以数字加以区分同一字符的不同样本图像;
令ii=1;
2.1读取字符样本库中第ii个字符样本图像a;
2.2将字符样本图像a转化为灰度图像b;
2.3将灰度图像b转化为二值图像c;
2.4对二值图像c的边缘进行切割,去除空白区域,得到图像d;
2.5将图像d缩放为M行N列像素大小,得到图像e;
2.6提取图像e的lev层金字塔特征,得到大小为n行1列的字符样本特征向量Sii;
2.7令ii=ii+1,重复上述2.1至2.7操作,直至ii=LEN,输出字符样本特征向量组S={Sii,ii=1,2,…LEN}。
4.如权利要求1或2所述的基于金字塔特征的单一字符图像匹配识别方法,其特征在于,
对二值图像C的边缘进行切割,去除空白区域,得到图像D;具体包括:
获得二值图像C的像素尺寸,包括:高度mC,宽度nC;
令:top=1,bottom=mC,left=1,right=nC;
若二值图像C的top行的像素值的和为0且top<=mC时,则一直执行top=top+1;
若二值图像C的bottom行的像素值的和为0且bottom>1时,则一直执行bottom=bottom-1;
若二值图像C的left列的像素值的和为0且left<nC时,则一直执行left=left+1;
若二值图像C的right列的像素值的和为0且right>=1时,则一直执行right=right-1;
按照左上点坐标(left,top),高度hD=bottom-top,宽度wD=right-left,裁剪二值图像C,得到边缘切割后的图像D;
或,
对二值图像c的边缘进行切割,去除空白区域,得到图像d;具体包括:
获得二值图像c的像素尺寸,包括:高度mc,宽度nc;
令:top’=1,bottom’=mc,left’=1,right’=nc;
若二值图像c的top’行的像素值的和为0且top’<=mc时,则一直执行top’=top’+1;
若二值图像c的bottom’行的像素值的和为0且bottom’>1时,则一直执行bottom’=bottom’-1;
若二值图像c的left’列的像素值的和为0且left’<nc时,则一直执行left’=left’+1;
若二值图像c的right’列的像素值的和为0且right’>=1时,则一直执行right’=right’-1;
按照左上点坐标(left’,top’),高度hd=bottom’-top’,宽度wd=right’-left’,裁剪二值图像c,得到边缘切割后的图像d。
5.如权利要求1或2所述的基于金字塔特征的单一字符图像匹配识别方法,其特征在于,采用最近邻域插值法将图像D缩放为M行N列像素大小,得到图像E;或,采用最近邻域插值法将图像d缩放为M行N列像素大小,得到图像e。
6.如权利要求1或2所述的基于金字塔特征的单一字符图像匹配识别方法,其特征在于,
提取图像E的lev层金字塔特征,得到大小为n行1列的待识别字符特征向量W,具体包括:
1)、获得图像E的像素尺寸,包括:高度hE、宽度wE,初始化特征向量W为0行0列,令h0=0,w0=0,js=0,n=0;
2)、令i=1;
3)、求第i层金字塔图像的单位分辨率尺寸,以整数值像素高度h和宽度w表示;其中:
4)、比较h与h0以及w与w0,若h等于h0且w等于w0,则转步骤5);否则,令h0=h,w0=w,js=0,转步骤6);
5)、js值加1;判断js值是否大于等于4,若大于等于4,则转步骤7);否则转步骤6);
6)、令j=1;
7)、令hj=j+h-1;若hj>hE,则hj=hE;
8)、令k=1;
9)、令wk=k+w-1;若wk>wE,则wk=wE;
10)、计算图像e构成的像素矩阵中第j到hj行,第k到wk列的所有像素值之和,记为s;
11)、计算s对应的像素个数x=(hj-j+1)×(wk-k+1);
13)、将vs值添加到特征向量W的末尾,使其列数加1,且令n=n+1;
14)、令k=k+w,如果k<=wE,则转步骤9),否则,转步骤15);
15)、令j=j+h,如果j<=hE,则转步骤7),否则,转步骤16);
16)、令i=i+1,如果i<=lev,则转步骤3),否则,转步骤17);
17)、将特征向量W进行转置,得到大小为n行1列的待识别字符特征向量W;
或,
提取图像e的lev层金字塔特征,得到大小为n行1列的字符样本特征向量Sii,具体包括:
一)、获得图像e的像素尺寸,包括:高度he、宽度we,初始化特征向量Pt为0行0列,令h0=0,w0=0,js=0,n=0;
二)、令i=1;
三)、求第i层金字塔图像的单位分辨率尺寸,以整数值像素高度h和宽度w表示;其中:
四)、比较h与h0以及w与w0,若h等于h0且w等于w0,则转步骤五);否则,令h0=h,w0=w,js=0,转步骤六);
五)、js值加1;判断js值是否大于等于4,若大于等于4,则转步骤七);否则转步骤六);
六)、令j=1;
七)、令hj=j+h-1;若hj>he,则hj=he;
八)、令k=1;
九)、令wk=k+w-1;若wk>we,则wk=we;
十)、计算图像e构成的像素矩阵中第j到hj行,第k到wk列的所有像素值之和,记为s;
十一)、计算s对应的像素个数x=(hj-j+1)×(wk-k+1);
十三)、将vs值添加到特征向量Pt的末尾,使其列数加1,且令n=n+1;
十四)、令k=k+w,如果k<=we,则转步骤九),否则,转步骤十五);
十五)、令j=j+h,如果j<=he,则转步骤七),否则,转步骤十六);
十六)、令i=i+1,如果i<=lev,则转步骤三),否则,转步骤十七);
十七)、令Sii赋值为Pt的转置向量,得到大小为n行1列的第ii个字符样本特征向量Sii。
7.如权利要求1或2所述的基于金字塔特征的单一字符图像匹配识别方法,其特征在于,逐一计算待识别字符特征向量W与每一个字符样本特征向量Sii的欧氏距离,得到距离统计量F;具体包括:
令ii=1;
7.1计算待识别字符特征向量W和第ii个字符样本特征向量Sii的欧氏距离,记为Fii;
7.2令ii=ii+1,重复上述7.1至7.2计算欧氏距离的操作,直至ii=LEN,得到待识别字符与字符样本库中每一个字符样本的距离统计量F={Fii,ii=1,2,…LEN}。
8.如权利要求1或2所述的基于金字塔特征的单一字符图像匹配识别方法,其特征在于,计算距离统计量F的均值和均方差,判断欧氏距离最小的字符样本图像的欧氏距离与均值的差是否小于负R倍均方差;若小于,则待识别的单一字符图像A匹配成功;具体包括:
计算距离统计量F的均值men和均方差sgm;
查找距离统计量F中最小值首次出现的位置pp和最小值Fpp;
计算最小值Fpp与均值men的差值,若差值小于负R倍均方差,则最小值对应的字符样本库中第pp个字符样本图像与待识别的单一字符图像A匹配成功;否则认定待识别字符按照预设置信度匹配失败,无法识别。
9.如权利要求8所述的基于金字塔特征的单一字符图像匹配识别方法,其特征在于,R取值为2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211167667.1A CN115578734B (zh) | 2022-09-23 | 2022-09-23 | 一种基于金字塔特征的单一字符图像匹配识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211167667.1A CN115578734B (zh) | 2022-09-23 | 2022-09-23 | 一种基于金字塔特征的单一字符图像匹配识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115578734A CN115578734A (zh) | 2023-01-06 |
CN115578734B true CN115578734B (zh) | 2023-06-13 |
Family
ID=84581346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211167667.1A Active CN115578734B (zh) | 2022-09-23 | 2022-09-23 | 一种基于金字塔特征的单一字符图像匹配识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115578734B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783766A (zh) * | 2020-07-10 | 2020-10-16 | 上海淇毓信息科技有限公司 | 一种分步识别图像字符的方法、装置和电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102768731A (zh) * | 2012-06-29 | 2012-11-07 | 陕西省交通规划设计研究院 | 基于高清视频图像目标自动定位识别系统及方法 |
CN106874909B (zh) * | 2017-01-18 | 2019-10-11 | 深圳怡化电脑股份有限公司 | 一种图像字符的识别方法及其装置 |
CN109271998A (zh) * | 2018-08-31 | 2019-01-25 | 摩佰尔(天津)大数据科技有限公司 | 字符识别方法、装置、设备及存储介质 |
CN110502996B (zh) * | 2019-07-22 | 2022-03-15 | 杭州电子科技大学 | 一种面向模糊指静脉图像的动态识别方法 |
CN112529004A (zh) * | 2020-12-08 | 2021-03-19 | 平安科技(深圳)有限公司 | 智能图像识别方法、装置、计算机设备及存储介质 |
CN114926635A (zh) * | 2022-04-21 | 2022-08-19 | 北京工业大学 | 与深度学习方法相结合的多焦图像中目标分割方法 |
-
2022
- 2022-09-23 CN CN202211167667.1A patent/CN115578734B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783766A (zh) * | 2020-07-10 | 2020-10-16 | 上海淇毓信息科技有限公司 | 一种分步识别图像字符的方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115578734A (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liao et al. | Rotation-sensitive regression for oriented scene text detection | |
Chen et al. | Vehicle detection in high-resolution aerial images via sparse representation and superpixels | |
WO2017148265A1 (zh) | 一种单词的分割方法和装置 | |
Han et al. | Methods for small, weak object detection in optical high-resolution remote sensing images: A survey of advances and challenges | |
CN111414906A (zh) | 纸质票据图片的数据合成与文本识别方法 | |
CN109344820B (zh) | 基于计算机视觉和深度学习的数字式电表读数识别方法 | |
CN114022408A (zh) | 基于多尺度卷积神经网络的遥感图像云检测方法 | |
Ren et al. | Ship recognition based on Hu invariant moments and convolutional neural network for video surveillance | |
Huang et al. | EPAN: Effective parts attention network for scene text recognition | |
CN116189191A (zh) | 一种基于yolov5的可变长车牌识别方法 | |
CN116189162A (zh) | 一种船牌检测与识别方法、装置、电子设备和储存介质 | |
Katper et al. | Deep neural networks combined with STN for multi-oriented text detection and recognition | |
Bose et al. | Light Weight Structure Texture Feature Analysis for Character Recognition Using Progressive Stochastic Learning Algorithm | |
Jiang et al. | An efficient and unified recognition method for multiple license plates in unconstrained scenarios | |
CN115578734B (zh) | 一种基于金字塔特征的单一字符图像匹配识别方法 | |
Chen et al. | IGS-Net: Seeking good correspondences via interactive generative structure learning | |
CN113657225B (zh) | 一种目标检测方法 | |
Jia et al. | Grayscale-projection based optimal character segmentation for camera-captured faint text recognition | |
CN115588204B (zh) | 一种基于ds证据理论的单一字符图像匹配识别方法 | |
CN112184843B (zh) | 图像数据压缩的冗余数据去除系统及方法 | |
Si et al. | Self-supervised Representation Learning for the Object Detection of Marine Radar | |
CN115497099B (zh) | 一种基于圆周扫描式的单一字符图像匹配识别方法 | |
CN112766404A (zh) | 一种基于深度学习的中华绒螯蟹的真伪识别方法及系统 | |
Zhang et al. | A novel deep learning based number plate detect algorithm under dark lighting conditions | |
CN113192018A (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 |