二值化及联通域算法
- 格式:pdf
- 大小:3.77 MB
- 文档页数:55
概括
传统的OCR基于图像处理(二值化、连通域分析、投影分析等)和统计机器学习(Adaboost、SVM),过去20年间在印刷体和扫描文档上取得了不错的效果。
传统的印刷体OCR解决方案整体流程如图。
从输入图像到给出识别结果经历了图像预处理、文字行提取和文字行识别三个
阶段。
图像预处理
●二值化:由于彩色图像所含信息量过于巨大,在对图像中印刷体字符进行
识别处理前,需要对图像进行二值化处理,使图像只包含黑色的前景信息和白
色的背景信息,提升识别处理的效率和精确度。
●图像降噪:由于待识别图像的品质受限于输入设备、环境、以及文档的印
刷质量,在对图像中印刷体字符进行识别处理前,需要根据噪声的特征对待识
别图像进行去噪处理,提升识别处理的精确度。
●倾斜校正:由于扫描和拍摄过程涉及人工操作,输入计算机的待识别图像
或多或少都会存在一些倾斜,在对图像中印刷体字符进行识别处理前,就需要
进行图像方向检测,并校正图像方向。
文字检测
文字检测主要有两条线,两步法和一步法。
1.两步法:faster-rcnn.
2.一步法:yolo。
相比于两步法,一步法速度更快,但是accuracy有损失。
文字检测按照文字的角度分。
1.水平文字检测:四个自由度,类似于物体检测。
水平文字检测比较好的算法是CTPN。
2.倾斜文字检测:文本框是不规则的四边形,八个自由度。
倾斜文字检测个人比较喜欢的方法是CVPR的EAST和Seglink。
图像的二值化,灰度化,滤波,反色的基本原理一、图像的灰度化处理的基本原理将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。
彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。
而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。
灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。
图像的灰度化处理可用两种方法来实现。
第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。
第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。
二图像的二值化的基本原理图像的二值化处理就是讲图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。
即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。
在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。
为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。
所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。
连通域标记⽅法
这⾥列举⼆值图像连通域标记算法包括直接扫描标记算法和⼆值图像连通域标记快速算法
⼀、直接扫描标记算法把连续区域作同⼀个标记,常见的四邻域标记算法和⼋邻域标记算法。
1、四邻域标记算法:
1)判断此点四邻域中的最左,最上有没有点,如果都没有点,则表⽰⼀个新的区域的开始。
2)如果此点四邻域中的最左有点,最上没有点,则标记此点为最左点的值;如果此点四邻域中的最左没有点,最上有点,则标记此点为最上点的值。
3)如果此点四邻域中的最左有点,最上都有点,则标记此点为这两个中的最⼩的标记点,并修改⼤标记为⼩标记。
2、⼋邻域标记算法:
1)判断此点⼋邻域中的最左,左上,最上,上右点的情况。
如果都没有点,则表⽰⼀个新的区域的开始。
2)如果此点⼋邻域中的最左有点,上右都有点,则标记此点为这两个中的最⼩的标记点,并修改⼤标记为⼩标记。
3)如果此点⼋邻域中的左上有点,上右都有点,则标记此点为这两个中的最⼩的标记点,并修改⼤标记为⼩标记。
4)否则按照最左,左上,最上,上右的顺序,标记此点为四个中的⼀个。
第36卷第2期杭州电子科技大学学报(自然科学版)Vol.36No.2 2016年3月Journal of Hangzhou Dianzi University(Natural Sciences)Mar.2016 DOI:10.13954/j.cnki.hdu.2016.02.010基于改进连通域算法的车牌字符分割方法朱亚萍,邱锦山,杨成忠(杭州电子科技大学浙江省物联感知与信息融合技术重点实验室,浙江杭州310018)收稿日期:2015-06-23基金项目:国家自然科学基金资助项目(61427808)作者简介:朱亚萍(1962-),女,江苏张家港人,教授,检测技术与自动化装置.摘要:为了解决车牌字符分割中不连通汉字分割、粘连字符分割以及竖直边框干扰等问题,提出了一种基于改进连通域算法的车牌字符分割方法.采用改进的连通域算法并结合车牌尺寸的先验知识进行车牌字符的粗分割,运用二分投影法实现了车牌字符的细分割,有效地结合了改进的连通域算法与传统的二分投影法.实验结果证明,改进后的算法能较好地解决上述在字符分割中存在的问题,具有较高的实用性.关键词:车牌;字符分割;连通域中图分类号:TP391 文献标识码:A 文章编号:1001-9146(2016)02-0048-040 引 言现代交通管理系统智能化是智慧城市的一个重要发展方向,而汽车牌照自动识别系统是其不可或缺的一环[1].车牌字符的准确分割是车牌字符正确识别的前提.车牌字符分割主要存在3个难点,分别为汉字不连通、多字符粘连、竖直边框噪声干扰.对车牌字符进行分割的常用方法有投影法、连通域法、静态边界法.文献[2]使用的投影法速度快,可以解决多字符粘连,但是不能很好地解决汉字不连通问题.文献[3]使用的连通域法可以有效地分割连通的字符,但是标记算法需要扫描两遍像素点,运行速度慢,而且对汉字不连通问题也不能很好地解决.文献[4]使用的静态边界法可以解决汉字不连通问题,但是对车牌图像质量要求高.针对上述分割方法的不足以及字符分割存在的难点,本文在研究连通域算法的基础上,结合车牌尺寸的先验知识,提出了一种改进的连通域字符分割算法.1 车牌字符分割算法的流程在车牌识别系统中,对车牌进行精确定位及图像预处理后,车牌的字符需要进行逐个分割,以便于下一步进行识别.基于连通域算法的车牌字符分割算法通常会采用由粗到精的字符分割思想[5].算法流程如下:1)车牌图像预处理.对校正后的车牌图像进行光照不均校正、对比度增强、二值化处理以及尺寸归一化,预处理能有效地克服车牌图像中存在的噪声干扰;2)车牌字符粗分割.粗分割通常是采用基于连通域算法的车牌字符分割方法,对经过预处理后的车牌图像进行第一步分割;3)车牌字符细分割.细分割算法采用的是二分垂直投影法[6],可以解决字符粘连的问题,确保整个字符分割算法的可靠性.2 连通域算法的改进图像的连通区域是指具有同一像素值并且像素点位置关系符合某种规则的区域.像素点位置关系图1 连通区域的邻域模板通常考虑4-邻域和8-邻域,其邻域模板如图1所示.p为目标像素点,在二值图像中,p的像素值为1,4-邻域选取p的上、下、左、右4个点,8-邻域除了选取4-邻域的点外,还包括左上、右上、左下、右下4个点.连通域算法用于将图像中的各个连通区域找出并将属于同一区域的像素点标记为同一标记值.本文采用常用的4-邻域进行连通域算法的研究.2.1 传统的连通域算法传统的连通域算法通常需要两次扫描车牌图像进行区域的标记.首先,对车牌图像按行进行像素点的扫描,扫描时赋予每个像素点位置一个label,第一遍扫描后,通常会出现属于同一连通区域的点被标记为多个不同label的现象.因此,车牌图像需要进行第二遍按行扫描,消除同一连通区域被分别标记的现象.传统的连通域算法虽然能准确分割出连通的字符,但是需要对二值图像进行两次扫描,在同一连通域重复性标记较多的情况下,该方法的执行效率较低;并且传统的算法没有考虑车牌图像存在不连通汉字和竖直边框的情况.2.2 改进的连通域算法本文针对传统连通域法的缺陷和车牌字符分割存在的难点,对传统的连通域算法进行改进,改进的连通域算法流程如图2所示.首先,采用种子填充算法进行连通域像素点的标记,实现了单遍扫描车牌图像,相对于传统连通域标记法的两遍扫描,标记效率提高;然后,在分割连通字符的过程中,采用车牌尺寸先验知识进行校验,去除竖直边框噪声的干扰;最后,根据汉字在车牌图像中的特殊位置,分割出汉字,有效处理了汉字的不连通性问题.图2 改进的连通域算法流程图2.2.1 基于种子填充算法的连通域标记相对于传统方法的两次遍历图像,本文把种子填充法引入到连通区域的标记中,实现了单次遍历图像标记连通区域.车牌图像经过预处理后,字符区域的像素值为1,所以本文选取1作为种子.本文标记连通区域的基本步骤:1)对车牌图像进行按行扫描,当像素点的灰度值与种子相等时,赋予该像素点一个label,接着把与该点符合4-邻域并且灰度值与种子相等的所有点存入栈中;2)取出栈顶的像素点,在该点上赋予其相同的label,再把与该点符合4-邻域并且灰度值与种子相等的所有点存入栈中;3)重复步骤2,直到栈为空;4)重复执行步骤1,直到车牌图像被完整扫描一遍.2.2.2 连通字符的分割车牌图像的噪声在预处理阶段无法完全去除,噪声区域会形成独立的连通域.尤其在预处理阶段车牌图像的竖直边框噪声没有被完全去除时,会被误认为是数字“1”,字符分割的正确率受到影响.本文改进了传统连通域字符分割方法,在分割连通区域时采用车牌尺寸的先验知识,当区域的宽高比小于先验知识字符的宽高比,或者区域中白色区域占整个矩形区域的比例小于先验知识的比例,以上均视为不是字符区域,在分割过程中丢弃不符合条件的连通区域.94第2期朱亚萍,等:基于改进连通域算法的车牌字符分割方法连通的数字和字母的分割结果如图3所示.图3(b)为使用传统连通域算法分割的结果,分割出的连通区域存在竖直边框噪声区域,传统的方法并不能很好地处理这种情况.从图3(c)中可以看出,改进后的算法能有效地去除竖直边框噪声的干扰.图3 连通字符的分割2.2.3 汉字字符的分割车牌图像中的第一个字符通常由多个区域组成,这些区域都是不连通的,如“苏”、“浙”等.针对上述的问题,本文改进了传统的连通域车牌字符分割算法.车牌的尺寸在图像预处理阶段进行了归一化,在分割连通区域字符的过程中,记录下车牌第二个字符的起始位置Lsec,并根据已分割出字符的平均宽度Wagv,确定出汉字字符的起始点Lch=Lsec-Wagv,利用文献[4]的静态边界法对汉字进行分割.经过预处理后的车牌图像如图4(a)、图4(b)所示.图5(a)、图5(b)是利用传统连通域算法分割的结果,由于图4(a)、图4(b)中都存在汉字字符不连通问题,并且图4(a)中边框与汉字字符粘连.使用传统连通域方法进行分割时,连通的字符被很好地分割出来,但是不连通的汉字“苏”被分为两部分,而且图5(a)中分割出的汉字与边框相连;图6(a)、图6(b)是使用改进的连通域算法分割后的结果,从图6中明显看出,改进的连通域算法能很好地解决汉字的不连通问题,同时也解决了边框与汉字粘连的问题.图4 预处理后的车牌图像图5 传统算法分割结果图图6 改进算法分割结果图2.3 算法的比较图7 预处理后的车牌图像字符粗分割分别采用改进后的连通域算法和传统的连通域算法,细分割统一采用二分垂直投影法.图7选取了一幅具有代表性的车牌图像,存在汉字不连通和竖直边框问题,而且车牌字符“F”、“M”粘连在一起.对比图8与图9可以看出,改进后的连通域算法准确地分割出不连通的汉字和连通的单独字符,而且有效去除了竖直边框噪声的干扰,使得车牌图像经过细分割后,最终得到正确的车牌字符.图8 改进连通域算法的字符分割图9 传统连通域算法的字符分割4 实验结果与分析本文选取了200幅倾斜校正成功的车牌图像作为实验数据库,选用CPU主频为2.27GHz,内存为2GB的PC机,在Visual Studio 2010平台下进行验证实验.实验1改进的连通域标记法与传统连通域标记法的效率对比.分别采用本文改进的连通域标记算法和传统的连通域标记算法,对实验数据库中的车牌图片进行05杭州电子科技大学学报(自然科学版)2016年连通域的标记,比较这两种标记算法的效率.实验结果如表1所示,从算法的耗时对比可以看出,本文的算法缩短了连通域标记的时间,具有较高的效率.实验2本文完整算法与传统垂直投影法、传统连通域法的实验对比.为了比较算法的分割准确率,本文分别采用文献[2]的传统垂直投影法、文献[3]的传统连通域法、本文完整算法,对实验数据库中的车牌图片进行字符的分割.实验结果如表2所示.通过表2的比较可知,与传统垂直投影法和传统连通域法相比较,本文完整的字符分割算法提高了车牌字符分割的准确率.表1 连通域标记效率对比测试方法测试图片/幅耗时/s传统连通域标记法200 10.31本文连通域标记法200 6.55表2 字符分割对比测试分割方法测试图片/幅分割成功/幅准确率/%传统垂直投影法200 170 85.0传统连通域法200 173 86.5本文完整算法200 192 96.05 结束语本文对传统的连通域算法进行改进,并将改进的算法与传统的二分垂直投影法相结合.第一级粗分割利用改进的连通域算法,提高了连通域标记的效率,对不连通的汉字字符进行了准确分割,去除了竖直边框噪声的干扰;运用二分垂直投影法进行第二级字符细分割,对粘连的字符进行了有效分割.本文算法弥补了传统字符分割方法的不足,解决了字符分割存在的难题.参考文献[1]YOON Y W,BAN K D,YOON H,et al.Blob extraction based character segmentation method for automatic license platerecognition system[C]//Systems,Man,and Cybernetics(SMC),2011IEEE International Conference on.Anchorage,AK:IEEE,2011:2192-2196.[2]瞿中,李梦露,常庆丽,等.退化车牌字符的两级分割算法研究[J].计算机工程与设计,2013,34(7):2465-2469.[3]甘玲,林小晶.基于连通域提取的车牌字符分割算法[J].计算机仿真,2011,28(4):336-339.[4]顾弘,赵光宙,齐冬莲,等.车牌识别中先验知识的嵌入及字符分割方法[J].中国图象图形学报,2010,15(5):749-756.[5]MIAO L G.License Plate Character Segmentation Algorithm Based on Variable-Length Template Matching[C]//Signal Processing,2012IEEE 11th International Conference on.Beijing:IEEE,2012:947-951.[6]迟晓君,孟庆春.基于投影特征值的车牌字符分割算法[J].计算机应用研究,2006,23(7):256-257.License Plate Character Segmentation Method Based on ImprovedConnected Domain AlgorithmZHU Yaping,QIU Jinshan,YANG Chengzhong(Key Lab of IoT and Information Fusion Technology of Zhejiang Province,Hangzhou Dianzi University,Hangzhou Zhejiang310018,China)Abstract:In order to solve the problems of the disconnected character segmentation,adhesioncharacter segmentation and vertical border interference in license plate character segmentation,a kindof license plate character segmentation method based on the improved connected domain algorithm isproposed in this paper.Coarse-grained segmentation is conducted on license plate characters bycombining the improved connected domain algorithm and prior knowledge of license plate size.Besides,the fine-grained segmentation of license plate characters is achieved with the help of binaryprojection method and the method effectively combines the improved connected domain algorithm andtraditional binary projection method.The experimental results show that the improved algorithm cansolve the above problems in character segmentation more effectively and it has higher practicability.Key words:license plate;character segmentation;connected domain15第2期朱亚萍,等:基于改进连通域算法的车牌字符分割方法。
连通域算法
连通域算法是一种用于检测图像中对象的算法,它可以帮助我们更好地理解图像,更好地提取其中的信息。
连通域算法的核心思想是将图像中的像素点联系起来,将这些相连的像素点组成一个连通域,从而可以更好地提取图像中的对象。
连通域算法的实现有多种方法,其中最常见的是基于图形的连通域算法。
图形连通域算法是一种基于图像处理的技术,它可以将图像中相邻的像素点连接起来,形成连通域,从而提取图像中的对象。
此外,还有基于图像分割的连通域算法,它可以利用图像的灰度分布来划分图像中的对象,从而提取出图像中的对象。
另外,连通域算法还可用于图像识别和分类。
图像识别是指通过提取图像中的连通域,将图像中的对象识别出来,从而实现图像识别。
而图像分类是指将图像中的对象按其特征分类,从而实现图像分类。
总之,连通域算法是一种用于检测图像中对象的有效算法,它可以帮助我们更好的理解图像,更好地提取其中的信息,并且可用于图像识别和分类。
因此,连通域算法在图像处理等领域具有重要的应用价值。
python中连通域算法Python 中连通域算法连通域可以简单理解为一个图像中相邻的像素点相连形成的一块区域。
在图像处理中,我们常常需要对这些连通的区域进行一些操作,比如找到其中的特征、选择某个区域进行分析或对整个区域进行一些操作。
在Python 中,我们可以使用一些算法来找到图像中的连通域并进行相应的操作。
接下来,我将逐步介绍Python 中连通域的概念、如何找到连通域、如何在连通域上进行特定操作的方法。
1. 连通域的概念在图像处理中,连通域是一个由相邻的像素点构成的区域。
在二值图像中,像素点的值通常只有两个,例如黑色和白色,被称为“0”和“1”。
连通域的数量和形状通常与图像中的目标有关。
例如,在一张图片中,我们可能需要找到所有联通的数字或字母,或者只需要找到图像中最大或最小的连通区域。
2. 连通域的查找算法在Python 中,我们可以使用不同的算法来查找连通域。
其中,最常用的两种算法是DFS(深度优先搜索)和BFS(广度优先搜索)。
在这里,我们将重点介绍DFS 算法。
DFS 算法是一种非常适合连通域查找的算法。
它的基本思路是从图像中的某个像素点开始,沿着该点所在的连通域递归地访问所有相邻的未访问过的像素点。
通过递归,我们可以遍历整个连通域,并找到所有的像素点。
为了演示DFS 算法,我们先创建一个简单的二值图像。
以下代码创建一个10x10 的方形图像,其中心区域是黑色的(0),外围是白色的(1)。
import numpy as npimport matplotlib.pyplot as pltimage = np.ones((10, 10), dtype=np.uint8) # 创建一个10x10的白色方形图像image[3:7, 3:7] = 0 # 将图像中心区域切换为黑色plt.imshow(image, cmap=plt.cm.gray) # 绘制图像plt.axis('off')plt.show()运行后,可以看到以下图像:,期】2019(040)002【总页数】7页(P271-277)【关键词】三维测量;相位解包裹;条纹投影;相移【作者】王霖;韩旭;伏燕军;黄春志;史耀群【作者单位】南昌航空大学无损检测技术教育部重点实验室,江西南昌330063;南昌航空大学测试与光电工程学院,江西南昌330063;南昌航空大学无损检测技术教育部重点实验室,江西南昌330063;南昌航空大学测试与光电工程学院,江西南昌330063;南昌航空大学无损检测技术教育部重点实验室,江西南昌330063;南昌航空大学测试与光电工程学院,江西南昌330063;南昌航空大学无损检测技术教育部重点实验室,江西南昌330063;南昌航空大学测试与光电工程学院,江西南昌330063;南昌航空大学无损检测技术教育部重点实验室,江西南昌330063;南昌航空大学测试与光电工程学院,江西南昌330063【正文语种】中文【中图分类】TN29;TP274引言条纹投影三维测量方法,又称条纹投影轮廓术(FPP),具有非接触、低成本、高精度和高效率的优点,因此被广泛应用在三维测量中[1-4]。
通过投影仪将条纹投影到被测物体表面,条纹由于受物体高度的调制发生变形。
相机采集变形的条纹图像,然后通过计算机对其进行处理,解调出物体高度的相位信息,再结合系统标定参数获得物体的三维高度信息[1-2]。
⼀种新的⾃适应⼆值化⽅法在很多情况下整幅图像⽤⼀个固定的阈值去分割并不,能给出良好的分割效果。
现有的任何⼀种全局⼆值化⽅法要么侧重整体轮廓,要么针对图像细节,或寻找两者之间的最佳切合点。
在这种情况下,想利⽤全局⼆值化对某些图像做到细节和轮廓兼顾⼏乎成为⼀种舍本逐末的⼀种⽅法。
如果想对图像分割的效果进⼀步提⾼,只有两种⽅法:其⼀,对图像进⾏⼀些预处理,如直⽅图均衡化,同态滤波等,以提⾼图像质量,抑制外界因素对图像的影响;另⼀种⽅法就是⾃适应⼆值化,就是把原图分成很多⼩像块,然后对每⼀个⼩区域分别进⾏图像分割。
传统的⾃适应⼆值化思想,就是将原图像平均分成若⼲块,分别对每⼀块进⾏处理。
但由于每⼀块所包含的内容⼤相径庭,因此,必须考虑块与块之间的联系以及每⼀个⼩区域和整幅图像的联系,⽽这都是⾮常难以确定的。
如果依靠⼈眼来进⾏判决,不仅耗时耗⼒,⽽且由于⼈的操作误差,还对分割图像的效果造成影响。
在作者所从事的“机器视觉⽤于⼯业部件的⾃动检测”项⽬中,每⼀个被检测的机器零件都需要和后台数据库中以同样⽅式进⾏图像分割、边界提取、曲线拟合的标准零件进⾏⽐较。
因此,不仅对图像⼆值化的精度要求很⾼,⽽且要尽量避免⼈们的操作误差,以使两者的检测环境尽可能相同。
本⽂阐述了⼀种新的⾃适应⼆值化⽅法。
它做到了脱离⼈的主观判决,利⽤计算机做到⼀步到位,并使细节和轮廓两者兼顾。
图像⼆值化和边缘提取的基本原理1 将图像空间划分成⼀些特定的区域称为图像分割(Imag 。
图像分割的依据⼀般建⽴在图像直⽅图、e Segmentation)相似性及⾮连续性概念之上。
通过分割,可以把图像分为⽬标或前景和背景。
⽬标⼀般对应图像中特定的、具有独特性质的区域,如包含图像的轮廓、边缘、纹理、灰度等。
通过把这些区域提取出来,才有可能对⽬标进⾏下⼀步的利⽤,如进⾏边缘提取,曲线拟合等。
所以,如果图像分割这⼀块不能做好,将会严重影响其后续⼯作。
对灰度图像进⾏⼆值分割,⼀般是通过选取图像阈值。