二值化及联通域算法
简述ocr的基本流程

概括
传统的OCR基于图像处理(二值化、连通域分析、投影分析等)和统计机器学习(Adaboost、SVM),过去20年间在印刷体和扫描文档上取得了不错的效果。
传统的印刷体OCR解决方案整体流程如图。
从输入图像到给出识别结果经历了图像预处理、文字行提取和文字行识别三个
阶段。
图像预处理
●二值化:由于彩色图像所含信息量过于巨大,在对图像中印刷体字符进行
识别处理前,需要对图像进行二值化处理,使图像只包含黑色的前景信息和白
色的背景信息,提升识别处理的效率和精确度。
●图像降噪:由于待识别图像的品质受限于输入设备、环境、以及文档的印
刷质量,在对图像中印刷体字符进行识别处理前,需要根据噪声的特征对待识
别图像进行去噪处理,提升识别处理的精确度。
●倾斜校正:由于扫描和拍摄过程涉及人工操作,输入计算机的待识别图像
或多或少都会存在一些倾斜,在对图像中印刷体字符进行识别处理前,就需要
进行图像方向检测,并校正图像方向。
文字检测
文字检测主要有两条线,两步法和一步法。
1.两步法:faster-rcnn.
2.一步法:yolo。
相比于两步法,一步法速度更快,但是accuracy有损失。
文字检测按照文字的角度分。
1.水平文字检测:四个自由度,类似于物体检测。
水平文字检测比较好的算法是CTPN。
2.倾斜文字检测:文本框是不规则的四边形,八个自由度。
倾斜文字检测个人比较喜欢的方法是CVPR的EAST和Seglink。
[笔记]图像的二值化,灰度化,滤波,反色的基本原理
![[笔记]图像的二值化,灰度化,滤波,反色的基本原理](https://img.taocdn.com/s3/m/162260af1b37f111f18583d049649b6648d70935.png)
图像的二值化,灰度化,滤波,反色的基本原理一、图像的灰度化处理的基本原理将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。
彩色图像中的每个像素的颜色有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期朱亚萍,等:基于改进连通域算法的车牌字符分割方法。
连通域算法

连通域算法
连通域算法是一种用于检测图像中对象的算法,它可以帮助我们更好地理解图像,更好地提取其中的信息。
连通域算法的核心思想是将图像中的像素点联系起来,将这些相连的像素点组成一个连通域,从而可以更好地提取图像中的对象。
连通域算法的实现有多种方法,其中最常见的是基于图形的连通域算法。
图形连通域算法是一种基于图像处理的技术,它可以将图像中相邻的像素点连接起来,形成连通域,从而提取图像中的对象。
此外,还有基于图像分割的连通域算法,它可以利用图像的灰度分布来划分图像中的对象,从而提取出图像中的对象。
另外,连通域算法还可用于图像识别和分类。
图像识别是指通过提取图像中的连通域,将图像中的对象识别出来,从而实现图像识别。
而图像分类是指将图像中的对象按其特征分类,从而实现图像分类。
总之,连通域算法是一种用于检测图像中对象的有效算法,它可以帮助我们更好的理解图像,更好地提取其中的信息,并且可用于图像识别和分类。
因此,连通域算法在图像处理等领域具有重要的应用价值。
二值化图像8联通域标记

区域生长法利用区域生长的思想,一次生长过程可以标记一整个连通区,只需对图像进行一次扫描就能标记出所有连通区。算法描述如下:
Step1、输入待标记图像bitmap(二值化原图,SDRAM内,u16,只有0x0000与0xffff),初始化一个与输入图像同样尺寸的标记矩阵labelmap(SDRAM内,大小与二值化原图相同,u16,初值0x0000),一个队列queue(SDRAM内,大小与二值化原图相同)以及标记计数labelIndex(unsigned char,最大值255,初值0);
{
int searchIndex, i, length;
labelmap[pixelIndex] = labelIndex;
length = width * height;
for(i = 0;i < 8;i++)
{
searchIndex = pixelIndex + NeighborDirection[i][0] * width + NeighborDirection[i][1];//???
}
}
}
//头步骤1
int ConnectedComponentLabeling(unsigned char *bitmap, int width, int height, int *labelmap)
{
int cx, cy, index, popIndex, labelIndex = 0;
Queue *queue = NULL;
popIndex = PopQueue(queue);
}
}
}
}
//free(queue);
python中连通域算法

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()运行后,可以看到以下图像:
基于红外图像处理技术的建筑缺陷面积的计算梁镒声黄启云于梦怡发布时间:2023-05-27T08:35:55.778Z 来源:《工程管理前沿》2023年6期作者:梁镒声黄启云于梦怡[导读] 建筑物在长时间的使用过程中,可能会因为自然因素、人为因素等原因产生各种缺陷,如裂缝、鼓泡等。
及时发现和修复这些缺陷对于建筑物的稳定性和安全性至关重要。
因此,本文提出了一种基于红外图像处理技术的建筑缺陷面积的计算方法。
该方法通过对建筑物表面进行红外扫描,利用图像处理技术提取出缺陷区域,并计算出其面积大小。
广东省有色工业建筑质量检测站有限公司广东广州 510000摘要:建筑物在长时间的使用过程中,可能会因为自然因素、人为因素等原因产生各种缺陷,如裂缝、鼓泡等。
及时发现和修复这些缺陷对于建筑物的稳定性和安全性至关重要。
因此,本文提出了一种基于红外图像处理技术的建筑缺陷面积的计算方法。
该方法通过对建筑物表面进行红外扫描,利用图像处理技术提取出缺陷区域,并计算出其面积大小。
关键词:红外图像处理技术;建筑缺陷;面积计算;安全监测建筑物是人们生活和工作的场所,其安全稳定性对于人们的生命财产安全至关重要。
然而,建筑物在长时间的使用过程中,由于各种原因,可能会出现各种缺陷,如裂缝、鼓泡等。
这些缺陷不仅影响建筑物的美观性,更重要的是可能对建筑物的结构稳定性和安全性产生影响,严重的甚至可能引发建筑物倒塌事故。
因此,及时发现和修复建筑缺陷对于保障建筑物的安全稳定至关重要。
一、红外图像处理技术的基本原理红外图像处理技术的基本原理包括红外感知、红外成像、红外图像处理等方面。
通过对建筑物表面进行红外扫描,利用红外图像处理技术提取出建筑缺陷区域,计算出缺陷面积大小,可以为建筑缺陷的监测和维护提供有效的手段。
首先,红外感知是指利用红外传感器感知物体辐射出的红外辐射,将其转化为电信号并进行传输,以获取物体表面的温度分布信息。
红外辐射是指物体因为温度而辐射出来的电磁波,其波长范围在0.751mm左右,包括近红外、中红外和远红外三个区域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20/110 (ch-4)
Path(路徑)
• Path(路徑):
有4-path 和 8-path 4-path 定義較嚴:
一個路徑上所有點互為4-neighbors
8-path 定義較鬆:
一個路徑上所有點互為8-neighbors
21/110 (ch-4)
Path(路徑)
4-path定義較鬆,原本在8-path定義下為連續的 路徑,在 4-path 定義下可能會斷裂。譬如上圖 在 8-path定義下為連續的路徑,在4-path定義下 變成下圖
• Connected components
A set of pixels in which each is connected to all others is called a “connected component”.
• Background and Hole
亮度值為「0」的所有像素之集合叫 S (S的補集合), S 中 所 有 和FOV邊界相連的connected components 都叫 “background”,其 它和FOV邊界不相連的connected都叫“holes”。
Histogram (直方圖)
Histogram 用來統計各種亮度( 0 ~ 255 ,橫 軸)的像素數目(縱軸),如下圖
6/110 (ch-4)
Histogram (直方圖)
•對比愈強, histogram 分佈愈往兩端集中
•對比愈弱, histogram 在橫軸的分佈愈均勻
7/110 (ch-4)
28/110 (ch-4)
Component Labeling
Recursive algorithm 執行步驟: 1. 掃瞄找出灰階值為 1 且未經標號的像素, 並指定一個未經使用的號碼給該像素。 2. 以遞迴的方式指定同一個標號給該像素之 8-neighbor中像素值為1的像素。 3. 當不再有未經標號且像素值為 1 之像素即 停止。 4. 回到步驟1。
4-neighbor
a a a a a a a 4 a a a 1 b 3 a a a 2 a a a a a a a
8-neighbor
a a a a a a a 1 a a a 1 a 1 a a a 1 a a a a a a a
背景:4-neighbor 物件: 8-neighbor
a a a a a a a 1 a a a 1 b 1 a a a 1 a a a a a a a
(1)第一種方法是 row by row 記下 1s 的起點和長度: 1st row:(1,3) (7,2) (12,4) (17,2) (20,3) 2nd row:(5,13) (19,4) 3rd row:(1,3) (17,6) (2)第二種方法是 row by row 依序記下「1s」、「0s」、「1s」、 0s」、…的長度: 1st row:3 3 2 3 4 1 2 1 3 2nd row:0 4 13 1 4 3rd row:3 13 6 從 run length code 可以算出面積:把所有「1s」的長度加起來即 可。也可以輕易算出 horizontal projection。
A = ∑ V ( j ) = ∑ H (i )
j =1 i =1 m n
• 用 projection 的結果可以算出形心位置
xc =
∑
j =1
m
jV ( j ) A
yc =
∑ iH (i)
i =1
n
A
• projection 的結果有時候有被用來作為影像特 徵或 影像特徵(features)的萃取基礎
1/110 (ch-4)
-第4章-
二值化影像處理與分析
2/110 (ch-4)
二值化影像處理與分析
• 灰階影像所需要的影像處理時間較長,但是成效不 一定較好(相較於二值化影像)。因此,大部分實 用的機械視覺都是以二值化影像為主,灰階影像為 輔。 • 本章先介紹二值化影像的處理技巧與分析技巧,作 為機械視覺的入門(同時也是較實用而常用的技 術)。 • 本章主題包括
18/110 (ch-4)
Binary Algorithms
• 本節包括一些二值化影像處理中常用的定義 與簡單而常用的基本演算程序,作為後續各 節影像處理方法的演算法基礎。 • 本 節 假 定 一 個 FOV 內 所 有 物 件 的 Segmentation 已經完成。不過,除了少數案 例 外 , Segmentation 一般而言是較難的問 題,我們將另闢專章討論。
在 4-path 定義下,藍色點不再屬於 4-neighbor , 路徑因此斷裂。
22/110 (ch-4)
其他
• Foreground(前景)
亮度值為「1」的所有像素之集合叫 foreground S。
• Connectivity
Two pixels in the foreground q,p∈S is (4- or 8-) connected IFF there exists a path (4-path or 8-path) between them.
Histogram (直方圖)
Histogram 常被用來決定二值化的 threshold 值
8/110 (ch-4)
Histogram (直方圖)
當一個 FOV 內有數個不相重疊的物件,且每 個物件與背景的亮度分佈剛好都明顯地有區 隔時,就可以用 multiple-threshold 把物件給一 一分離出來。
• Component labeling 可以把不相連的物件個別給予標 號,從而完成 segmentation。 • Component labeling 的目的是藉以區分不同旳物體並 得知物體之數,進而將各物體之面積、周長、重心、 位置、方向、最大圍繞矩形等特找出來。 • Component labeling algorithms主要有四種 : (1)Recursive algorithm (遞歸法) (2)Sequential algorithm (循序法) (3)Boundary method (邊界判斷法) (4)Iterative method (疊代法)
原始影像
histogram
9/110 (ch-4)
幾何性質量測
假 設 我 們 已 經 用 multiple-threshold 或 者 其 它 segmentation 的方法把一張圖裡的物件都給 一一分離出來,使得每個影像矩陣內只有一 個物件,我們就可以開始針對這影像矩陣內 的物件進行各種幾何 尺寸量測。
16/110 (ch-4)
Homework
There is a fiducial mark in the window as shown below. Please find out its center location.
17/110 (ch-4)
Run-length Encoding
給定一個由好幾個 rows 構成的二值化 image如下
V ( j ) = ∑ B (i , j )
i =1 n
• Horizontal Projection 是 把 二值化影像 row-by-row 地 計算出 each row 內之亮點 數
H (i ) = ∑ B (i , j )
j =1 m
15/110 (ch-4)
幾何性質量測
• 用 projection 的結果可以算出面積 A
⎧1 b(i, j ) = ⎨ ⎩0
if f (i, j ) ≤ T otherwise
• 二值化有時會被用來作為 segmentation (分離物件)的工 具。
4/110 (ch-4)
二值化
圖中,飛機和背景就相當程度地被區隔開來 了(只要再恰當地濾波即可)。
灰階圖
二值圖
5/110 (ch-4)
其中rij是像素 b(i,j)到直線 L 的距離。
12/110 (ch-4)
幾何性質量測
當直線 L通過物件B=b(i,j)的形心(xc,yc)時,Irr會有最 小值。因此,我們選定下面這個特定的ρ值來使L通 過物件 B=b(i,j)的形心
(6)
把(4)式和(6)式代入(5)式可以得到 其中係數 a, b, c 為
10/110 (ch-4)
幾何性質量測
1. 物件面積 A :
物件B=b(i,j)的面積可以用下一式算出來
A = ∑∑ B(i, j )
i =1 j =1 n m
2. 物件位置: 物件B=b(i,j)在 FOV 內的形心位置(xc,yc) 可以用下
面式子算出來
xc =
∑∑ jB(i, j )
i =1 j =1
23/110 (ch-4)
4-neighbor 與 8-neighbor
• 4-neighbor 與 8-neighbor處理結果之比較
– Connectivity 、 foreground 、 background 的定義都依 採用4-neighbor or 8-neighbor 而定,需言明。
13/110 (ch-4)
幾何性質量測
物件最長邊的方向角θ剛好是使 (6)式有最小 值之時的θ。可以證明得出來:它是
14/110 (ch-4)
幾何性質量測
4. 投影(projection)
• Vertical Projection 是把二 值化影像column by column 地計算出 each column 之亮 點數
二值化影像的取得(從灰階影像) 二值化影像的位置、尺寸與方向量測 二值化影像的拓樸特徵
3/110 (ch-4)
二值化
• 二值化的動作是利用 pixel-by-pixel operation 把一張灰階圖 (gray image)變成一張「只有黑、白」二值的圖。 • 假定原來的灰階圖為 F,其中任何一個像素 f(i, j)的亮度值都 是介於 [0, 255]。 • 此外再假定二值化的過程用的 threshold 為T,且二值化以後 的影像為 b(i, j) 。則實際的二值化運算是