资源描述
1 1二值图象分析Binary Image Analysis第第 3 3 章章 2 2二值图像例二值图像例3.1 二值图象二值图象3 3二值图象的特点二值图象的特点 a. a. 二值图像只有两个灰度级,其中物体像素值为二值图像只有两个灰度级,其中物体像素值为1 1,背景像素值为背景像素值为0 0; b. b. 图象中许多的特征如边缘、轮廓可以用二值图像图象中许多的特征如边缘、轮廓可以用二值图像表示;表示; c. c.二值图像处理的算法简单,所需的内存小,计算二值图像处理的算法简单,所需的内存小,计算速度快;速度快; d. d.二值视觉系统技术可用于灰度图像视觉系统二值视觉系统技术可用于灰度图像视觉系统 。4 4(3)二值图象的获取a. a. 硬件实现硬件实现 敏感元二值输出或逻辑输出。敏感元模拟值敏感元二值输出或逻辑输出。敏感元模拟值 输出,通过硬件电路二值化。输出,通过硬件电路二值化。b. b. 软件实现软件实现 灰度图象可以通过灰度图象可以通过阈值(阈值(thresholdthreshold)分割)分割进进行二值化处理。行二值化处理。5 5图象二值化图象二值化 设一幅灰度图像中物体的灰度分布在某一区间内,经设一幅灰度图像中物体的灰度分布在某一区间内,经过阈值运算后的图像为二值图像。过阈值运算后的图像为二值图像。其它如果0, 1,21TjiITjiB其它如果0, 1,ZjiIjiB其中Z是组成物体各部分灰度值的集合 (4)灰度图象的二值化灰度图象的二值化6 6一幅灰度图像和使用不同阈值得到的二值图一幅灰度图像和使用不同阈值得到的二值图像结果像结果1:原始灰度图像,2:阈值T=100;3:T=1284:T1=100|T2=128 7 7 通过阈值化方法检测出物体后,下一步就要通过阈值化方法检测出物体后,下一步就要对物体进行识别和定位对物体进行识别和定位 在大多数工业应用中,摄像机的位置和环境在大多数工业应用中,摄像机的位置和环境是已知的,因此通过简单的几何知识就可以从物是已知的,因此通过简单的几何知识就可以从物体的二维图像确定出物体的三维位置体的二维图像确定出物体的三维位置 利用尺度和形状特征来识别:如大小、位置利用尺度和形状特征来识别:如大小、位置和方向和方向. .3.2 几何特性几何特性8 8(1) 尺寸和位置尺寸和位置一幅二值图像区域的面积(或零阶矩)由下式一幅二值图像区域的面积(或零阶矩)由下式给出:给出:9 9物体的中心位置:物体的中心位置: 其中其中x x和和y y是相对于图像左上角的中心坐标是相对于图像左上角的中心坐标 物体的位置为:物体的位置为: 注意:因约定注意:因约定y y轴轴向上向上故故有负号有负号1010方向方向一般假定物体是长形的,其长轴方向被定义为物体的方一般假定物体是长形的,其长轴方向被定义为物体的方向通常,二维平面上与最小惯量轴同方向的最小二阶向通常,二维平面上与最小惯量轴同方向的最小二阶矩轴被定为长轴矩轴被定为长轴设惯性轴:设惯性轴: , 满足:满足: 是点是点i, j到该轴的距离。到该轴的距离。sincosyxmin;,22jiBrijijjir,cossini jrji1111有有: 22( cossin) , ijjiB i j02令令: , 有:有: 其中:其中: sincosyx)(tan211cab;,)(2jiBxxaijij;,)(2jiByyxxbijijij;,)(2jiByycijij021212注意:求得的惯性轴有两个,即最大、最小惯性轴。Maximum axisMinimum axis1313(3) 密集度密集度 区域的密集度区域的密集度: 其中,其中,p p 和和 A A 分别为图形的周长和面积分别为图形的周长和面积根据此定义,圆是最密集的图形根据此定义,圆是最密集的图形密集度的另一意义:周长在给定后,密集度越高,密集度的另一意义:周长在给定后,密集度越高,所围面积越大所围面积越大 1414(4) (4) 体态比体态比 区域的最小外接矩形的长与宽之比特性: 1)正方形和圆的体态比等于1 2)细长形物体的体态比大于1 下图是几种形状的外接矩形:1515投影能表现图像的某种特征信息投影能表现图像的某种特征信息 给定一条直线,用垂直该直线给定一条直线,用垂直该直线的一簇等间距直线将一幅二值图的一簇等间距直线将一幅二值图像分割成若干条,每一条内像素像分割成若干条,每一条内像素值为值为1 1的像素个数为该条二值图的像素个数为该条二值图像在像在给定直线上的投影给定直线上的投影定义给定直线为水平或垂直直定义给定直线为水平或垂直直线时,二值图像列或行上像素值线时,二值图像列或行上像素值为为1 1的像素数量之和为该图像的的像素数量之和为该图像的水平或垂直投影水平或垂直投影3.3 投影投影 1616 对角线投影对角线投影 设行和列的标号分别用设行和列的标号分别用i和和j表示若图像矩阵为表示若图像矩阵为n行行m列,则列,则i和和j的范围分别为的范围分别为0 0到到n-1和和0 0到到m-1假设对角线的标号假设对角线的标号d用行和列的仿射变换(线性组用行和列的仿射变换(线性组合加上常数)计算,即:合加上常数)计算,即: d = ai+ bj + c 对角线投影共对应对角线投影共对应n+m-1n+m-1个条,其中仿射变换个条,其中仿射变换把右上角像素映射成对角线投影的第一个位置,把右上角像素映射成对角线投影的第一个位置,把左下角像素映射成最后一个位置,如图所示,把左下角像素映射成最后一个位置,如图所示,则当前行列对应的标号则当前行列对应的标号d d的公式为:的公式为: d = i - j + m - 1 1717二值图像及其对角线上的投影图1818用图像像素值连续为用图像像素值连续为1 1的个数来描述图像的个数来描述图像, ,有有两种方法两种方法: (1)用)用1 1的起始位置和的起始位置和1 1的游程长度;的游程长度; (2)仅仅使用游程长度,)仅仅使用游程长度,0:表示从:表示从0象素开始象素开始 ; 例:例:1 1的游程:(的游程:(2,22,2)()(6,36,3)()(13,613,6)()(20,120,1) (4,64,6)()(11,1011,10) (1,5 1,5 )()(1111,1 1)()(1717,4 4)1 1和和0 0的游程长度:的游程长度:0 0,1, 2 2,2 2,3 3,4 4,6 6, 1 1,1 1; 0 0,3 3,6 6,1 1,10 10 ; 5 5,5 5,1 1,5 5,4 4 3.4游程长度编码游程长度编码 (run-length encoding) 19193.5.1 定义定义(1)近邻:)近邻: 4邻点邻点(4-neighbors):有公共边关系的两个像素有公共边关系的两个像素 8邻点邻点(8-neighbors):两个像素至少共享一个顶角两个像素至少共享一个顶角 4连通连通(4-connected):一个像素与其一个像素与其4邻点的关系邻点的关系 8连通连通(4-connected):一个像素与其一个像素与其8邻点的关系邻点的关系3.5 二值图像算法二值图像算法2020(2) (2) 路径路径 路径路径: :从像素从像素 到像素到像素 的一个像素序的一个像素序列:列: , 和和 互为邻点互为邻点 4 4路径路径: :像素与其近邻像素是像素与其近邻像素是4 4连通关系连通关系 8 8路径路径: :像素与其近邻像素是像素与其近邻像素是8 8连通关系连通关系(3)(3)前景前景 图像中值为图像中值为1 1的全部像素的集合,用的全部像素的集合,用S S表示表示(4)(4)连通性连通性已知像素已知像素p p 和和q q ,如果存在一条从,如果存在一条从p p到到q q的路径,且路径上的全部的路径,且路径上的全部像素都包含在像素都包含在S S中,则称中,则称p p与与q q是连通的是连通的,00ji,nnji, ,1100nnjijiji,11kkji,kkji2121(5)连通成份:连通成份:一个像素集合,如果集合内的每一个像素一个像素集合,如果集合内的每一个像素与集合内其它像素连通,则称该集合为一个连通成份。与集合内其它像素连通,则称该集合为一个连通成份。(6) (6) 背景:背景: S S(S S的补集)中包含图像边界点的所有连通的补集)中包含图像边界点的所有连通成份的集合。成份的集合。 洞洞: : S S中所有非背景其它元。中所有非背景其它元。 对物体和背景应使用不同的连通对物体和背景应使用不同的连通.如果对如果对 S S 使用使用8 8连通连通, 则对则对 S S 应使用应使用4 4连通连通。 S S 洞洞洞洞2222 (7) 边界边界 S的边界是的边界是S中与中与 S中有中有4连通关系的像素集合连通关系的像素集合S (8) 内部内部 S中不属于它的边界的像素集合中不属于它的边界的像素集合. S的内部等于的内部等于S - S (9) 包围包围 如果从如果从S S中任意一点到图像边界的中任意一点到图像边界的4 4路径必须与区域路径必须与区域T T相相交,则区域交,则区域 T T 包围区域包围区域 S S(或(或S S在在T T内)内)例:一幅二值图像 内部内部包围包围边界边界 S S S S图像图像边界边界2323视觉中常见的运算是找连通成分。视觉中常见的运算是找连通成分。 连通标记算法可以找到图像中的所有连通成份,并对连通标记算法可以找到图像中的所有连通成份,并对同一连通成份中的所有点分配同一标记下图表示的是一同一连通成份中的所有点分配同一标记下图表示的是一幅图像和已标记的连通成份下面介绍两种连通成份标记幅图像和已标记的连通成份下面介绍两种连通成份标记算法:算法:递归算法递归算法和和序贯算法序贯算法 3.5.2 连通成分标记算法连通成分标记算法2424 算法算法3.13.1:连通成份递归算法连通成份递归算法 1.扫描图像,找到无标记的值为1的象素点,给它分配 一个标记 L; 2.递归分配标记L给1点的邻点; 3.如果不存在没标记的点,则停止; 4.返回第1步。2525算法算法3.23.2:4-4-连通成份序贯连通成份序贯算法算法 1从左至右、从上到下扫描图像 2如果像素点为1,则: (a) 如果上面点和左面点有一个标记,则复制这一标记 (b) 如果两点有相同的标记,复制这一标记 (c) 如果两点有不同的标记,则复制上点的标记且将两个 标记输入等价表中作为等价标记 (d) 否则给这一个像素点分配一新的标记并将这一标记输 入等价表 3回到第2步只到扫描完所有点 4在等价表的每一等价集中找到最低的标记 5扫描图像,用等价表中的最低标记取代每一标记2626在视觉应用中,欧拉数或亏格数可作为识别物体的特征。1. 定义:连通成份数减去空洞数E = C - H 其中: E为欧拉数、C为连通成份数、H为空洞数2.举例E=0E=-1E=23.特性 具有平移、旋转和比例不变特性的拓扑特征前景:8连通背景:4连通3.5.3 欧拉数欧拉数27273.5.4 区域边界区域边界通过简单的局部运算找边界点是视觉应用中的基本任务,常见的算法是按逆时针方向跟踪区域的所有点。2828 算法算法3.33.3:边界跟踪算法边界跟踪算法 从左到右、从上到下扫描图像,求区域S的起始点, 用c表示当前边界上被跟踪的像素点置 , 记c左4邻点为b, ; 按逆时针方向从b开始将c的8个8邻点分别记为: 从b开始,沿逆时针方向找到第一个 ; 置 , ; 重复步骤、,直到 。 0),(),()(kkykxks)(ksc Sb8, 21,nnn1 kkSniinksc)(1inb)0()(sks29293.5.5 距离距离2212212211Euclidean)()(),(jjiijijid 欧几里德距离:欧几里德距离: 街区距离:街区距离: . |2121Blockjjiid棋盘距离:棋盘距离: |).| |,max(|2121Chessjjiid30303.5.6 中轴中轴 中轴可作为物体的一种简洁表示中轴可作为物体的一种简洁表示图 3.13a 4邻点 中轴变换举例 3131图313b表明少量噪声会使中轴变换结果产生显著的差异 图 3.13b 中轴变换举例 3232细化是把区域缩成线条、逼近中心线(骨架或核线)的一种图细化是把区域缩成线条、逼近中心线(骨架或核线)的一种图像处理。像处理。细化的目的是减少图像成份,直到只留下区域的最基本信息,以便进一步分析和识别虽然细化可以用在包含任何区域形状的二值图像,但它主要对细长形(而不是凸圆形或水滴状)区域有效细化一般用于文本分析预处理阶段,以便将文本图像中线条图画或字符笔画表示成单像素线条 要求:要求:1)连通图像区域必须细化成连通线结构;2)细化结果最少应该是8连通;3)保留近似终止线的位置;4)细化结果应该近似于中轴线; 5由细化引起的附加突刺(短分支)应该是最小的。3.5.7 细化细化3333算法算法.:邻点细化迭代算法邻点细化迭代算法 1、对于每一个像素,如果)没有上近邻(或下近邻或左近邻或右近邻) )不是孤立点或终止线)去除该像素点不会断开区域 则去除该像素点 2、重复步骤1直到没有像素点可以去除为止。3434图314 细化手写体“华”的迭代过程(a) 原图像,(b)(f)为五次迭代过程,每次迭代削去一层边界 3.5.7 细化细化3535如果某一连通成份可以变化,使得背景像素点变成1的运算称为扩展如果物体像素点全方位地消减或变为0时,则称为收缩 扩展:如果背景和洞的像素点邻点是1,则将该点从0变为1收缩:如果物体像素点邻点是0,则将该点从1变为03.5.8 扩展与收缩扩展与收缩原始噪声图像 扩展运算 收缩运算对字母h收缩与扩展算法实验结果:3636对字母h收缩与扩展算法实验结果:原始噪声图像 扩展运算 收缩运算 扩展-收缩 收缩-扩展先扩展后收缩算法能补上不希望存在的洞,先收缩后扩展算法则能去除孤立的噪声点。 3737对字母h收缩与扩展算法实验结果:原始噪声图像 扩展运算 收缩运算 扩展-收缩 收缩-扩展)()()(nmmnnmSSSkkSS)(kkSS)()(kS:S扩展k倍 )( kS:S收缩k倍 38383.6形态学算子形态学算子理论基础:集合论理论基础:集合论作用:保持形状特征,同时简化图像作用:保持形状特征,同时简化图像工具:结构元工具:结构元数学形态学(数学形态学(mathematical mophology)39393.6.1 形态学集合论基础形态学集合论基础 图像图像=前景像素的集合前景像素的集合 交运算交运算 并运算并运算平移运算平移运算BpAppBA and |BpAppBAor |AapaAp|二值图像A被一个像素点p平移是指将A的原点移到 p。40403.6.2 形态学算子形态学算子-1 , ,|BbApbpppBAbab Ba AABAB用结构元进行膨胀运算也可以描述为:结构元的原点用结构元进行膨胀运算也可以描述为:结构元的原点像素经过待膨胀的二值图像中所有像素经过待膨胀的二值图像中所有1像素点时,对应结像素点时,对应结构元所有像素的二值图像像素置为像素;构元所有像素的二值图像像素置为像素; 膨胀(膨胀(dilation):扩张图像区域):扩张图像区域结构元原点是指定的,不一定是图像左上角多种解释:图像位移、结构元位移4141用结构元位移计算用结构元位移计算42423.6.2 形态学算子形态学算子-2 BbAbppBA ,pA Bp BApA用结构元进行腐蚀运算也可以描述为:结构元的原点像素经过待腐蚀的二值图像中所有1像素点时,如果结构元中有一个像素没有对应待腐蚀二值图像的像素,则对应结构元原点的待腐蚀二值图像像素置为 腐蚀(腐蚀(erosion):):获得表示结构元所有出现位置的图像获得表示结构元所有出现位置的图像4343用结构元位移计算用结构元位移计算4444图316 原始测试图像A (左)与结构元B(右)注意结构元的原点比中的其它像素点要黑一些4545A被被B膨胀膨胀 4646A被被B腐蚀腐蚀47473.6.2 形态学算子形态学算子-3 开运算(开运算(opening):):去除比结构元小的区域像素去除比结构元小的区域像素 用同一结构元腐蚀后再膨胀用同一结构元腐蚀后再膨胀 闭运算(闭运算(closing):):填充比结构元小的孔洞填充比结构元小的孔洞 用同一结构元膨胀后再腐蚀用同一结构元膨胀后再腐蚀 BBABABBABA4848图318“开”运算左:腐蚀;右:膨胀图中的粗黑线表示原始图像边界 4949图3.19 “闭”运算左:膨胀;右:腐蚀图中的粗黑线表示原始图像边界
展开阅读全文