1、第二章 二值图像分析,2.1 概述 2.2 阈值分割 2.3 几何特性 2.4 二值图像运算 2.5 形态学算子,1 什么是二值图像,为什么使用二值图像?基本图像分类:二值图像、灰度图象、彩色图像;灰度分为:32、64、128、512等各灰度级的图像;彩色图像分为:256色、16位、32位彩色图像概念:二值图像就是只有两种灰度值的图像, 它可以通过阈值分割的方法得到。,2.1 概述,1 什么是二值图像,为什么使用二值图像? 原因: 人类在理解只有两个灰度组成的线条、轮廓影像或其它图像是没有任何困难。 二值图像计算算法简单,容易理解和实现,计算速度快。 二值图像所需内存小,对计算机设备要求低 2
2、56灰度级的视觉系统内存是二值图像的8倍 许多二值视觉系统的技术也可以用于灰度视觉系统,2.1 概述,2 如何得到二值图像? 最简单的方法是通过阈值分割的方法得到二值图像,阈值取决于照明条件和物体的反射特性。 算法过程:比较图像灰度与某一灰度值的关系可以分成两部分,第一部分小于阈值,将此部分的灰度值设定为0;第二部分大于阈值,将此部分的灰度值设定为1。 由此得到的经过阈值处理图像因为只有两个灰度值故称为二值图像。,2.1 概述,3 如何表示二值图像?几何特性 尺寸 位置 方向 密度,2.1 概述,4 基本定义与如何计算二值图像? 基本定义:近邻、路径、前景、连通性、连通成分。 计算:连通成分标
3、记、边界跟踪、距离测量、中轴、细化、扩展与收缩 形态学算子:膨胀、腐蚀、开闭运算、应用算法等,2.1 概述,1 定义 分割是把像素聚合成区域的过程,使得:=整幅图像( 是一个完备分割) ( 是一个完备分割) 每个区域 满足一个谓词,即区域内的所有点有某种共同的性质了; 不同区域的图像,不满足这一谓词。 谓词:均匀灰度分布、相同纹理。(衡量标准),2.2 阈值分割,算法过程设(x,y)是二维图像的平面坐标,图像灰度级的取值范围是 (习惯上0表示最暗的像素点,L-1代表最亮的像素点),位于坐标点(x,y)上的像素点的灰度级表示f(x,y)。设t为分割阈值,于是图像函数在阈值t上的分割结果可以有如下
4、表示,阈值分割算法实际就是按某个准则函数求最优阈值的过程,2.2 阈值分割,2 阈值分割图示:,2.2 阈值分割,为什么使用几何特性? 在摄像机位置和环境已知的情况下,可以通过简单的几何知识就可以从物体的二维图像确定出物体的三维位置。在大多数应用中,物体的数量不是很多,如果物体的尺寸和形状完全不同,则可以利用尺寸和形状特征来识别这些物体,几何特性是二值图像中最简单的表示和区分方法。,2.3 几何特性,2.3.1 尺寸和位置 一幅二值图像区域面积(或零阶矩)其中,B表示一幅二值图像的某个区域,A表示此区域的面积。,2.3 几何特性,区域面积为6,2.3.1 尺寸和位置物体位置的确定方法:使用物体
5、最小外接矩形、物体矩心(区域中心)来表示物体的位置; 区域中心对噪声不敏感,因为它是对图像进行“全局运算”;在二值图像中,物体的中心位置与物体的质心相同;二值图像中物体的中心位置(x,y的算术均值),2.3 几何特性,computer vision,13,2.3.1 尺寸和位置 二值图像中物体的中心位置:,2.3 几何特性,区域内的所有j求平均,区域内的所有i求平均,2.3.2 方向由于某些形状(如圆)的方向不唯一,所以一般假定物体是长形的,其长轴方向定义为物体的方向,通常,二维平面上与最小惯量轴同方向的最小二阶矩轴被定义为长轴。图像中物体的二阶矩轴是一条直线,物体上所有点到这条直线的距离平方
6、和最小。,2.3 几何特性,2.3.2 方向一幅二值图像Bi,j,计算物体点到直线的最小二乘方拟合,使物体上的所有点到直线的距离平方和最小:其中 是物体点i,j到直线的距离。为了避免数学上的病态计算问题,表示成极坐标形式; 直线表示: 点到直线距离:,2.3 几何特性,2.3.2 方向物体上的所有点到直线的距离平方和最小的极坐标表示:通过令 对 的导数等于零求解可得:表明此直线(回归直线)通过物体中心 ,则极小值问题变为:,2.3 几何特性,2.3.2 方向其中参数a,b,c分别为:这些参数是二阶矩。,2.3 几何特性,2.3.2 方向再对 求 的导数,令结果为零,可得:这就是惯性轴方向。 如
7、果b=0,a=c,则物体的方向轴不唯一。物体伸长率E:,2.3 几何特性,2.3.3 密集度区域的密集度可用下面的式子来度量:其中:p和A分别为图像图形的周长和面积。依据此标准,原始最密集的图形,其密集密度为最大值 ,当圆后仰时,形状变成了一个椭圆,面积减小而周长不如面积减小得快,因此密集度降低;如果继续后仰,即显示变成了一条直线,密集度变成了零。,2.3 几何特性,2.3.3 密集度和体态比体态比:区域的最小外接矩形的长与宽之比。几种外接矩形示意图正方形和圆的体态比等于1,细长型物体体态比大于1。,2.3 几何特性,2.4.1 投影(Projection)给定一条直线,用垂直该直线的一簇等间
8、距直线将一幅二值图像分割成若干条,每一条内的像素值为1的像素为该条二值图像在给定指向的投影值。,2.4 二值图像运算,2.4.1 投影(Projection)上图中得到了一幅二值图像的水平和垂直投影,投影是一种简单的表述方式。 投影不唯一:相同的图像可能对应着不同的投影图像;同样不同的图像也可能对应着不同的投影图像。 投影还存在快速算法,如对角线解法。,2.4 二值图像运算,computer vision,23,2.4.1 对角线投影 设行和列的标号分别用i和j表示若图像矩阵为n行m列,则i和j的范围分别为0到n-1和0到m-1假设对角线的标号d用行和列的仿射变换(线性组合加上常数)计算,即:
9、 d = ai+ bj + c 对角线投影共对应n+m-1个条,其中仿射变换把右上角像素映射成对角线投影的第一个位置,把左下角像素映射成最后一个位置,如图所示,则当前行列对应的标号d的公式为: d = i - j + m - 1,2.4 二值图像运算,computer vision,24,2.4 二值图像运算,二值图像及其对 角线上的投影图,2.4.2 游程长度编码 两种游程编码方法: 第一种:使用1的起始位置和1的游程长度 第二种:只使用游程长度,如果第一个编码值为0,则表示游程长度编码是从0像素的长度开始。1的游程(2,2)(6,3)(13,6)(20,1)(4,6)(11,10)(1,5
10、)(11,1)(17,4) 1和0的游程 0,1,2,2,3,4,6,1,1(第一行),2.4 二值图像运算,二值图像中的一些基本定义近邻连通性前景与背景边界 连通成分标记算法 区域边界跟踪 中轴、细化和扩展与收缩 形态学算子,2.4 二值图像运算,2.4.3 基本定义 1 近邻(neighbor)如果两个像素只有公共边界,则称它们互为4邻点;如果两个像素至少共享一个顶角,则称它们互为8邻点;,2.4 二值图像运算,2.4.3 基本定义 1 近邻(neighbor) 一个像素被认为与它的4邻点是4连通关系; 一个像素被认为与它的8邻点是8连通关系;,2.4 二值图像运算,2.4.3 基本定义
11、2 路径(path)概念:一个像素到另一个像素的路径指一个像素序列,此序列中每一个像素互为邻点。如果邻点关系是4连通的,则路径是4路径 如果邻点关系是8连通的,则路径是8路径,2.4 二值图像运算,2.4.3 基本定义 3 前景(foreground) 图像中值为1的全部像素的集合称为前景,前景目标检测中的前景可以认为是检测到的目标。 用S表示,2.4 二值图像运算,2.4.3 基本定义 4 连通性 已知像素 ,如果存在一条p到q的路径,且路径上的全部像素都包含在S中,则p与q是连通的。 连通性满足以下性质: 自反性:像素p与p本身连通 互换性:如果p与q连通,则q与p连通 传递性:如果p与q
12、连通且q与r连通,则p与r连通,2.4 二值图像运算,2.4.3 基本定义 5 连通成分(connected component)一个像素的集合,如果集合内的每一个像素与集合内其它像素连通,则称该集合为一个连通成分。,2.4 二值图像运算,2.4.3 基本定义 6 背景(Background)(s的补集)中包含图像边界点的所有连通成分的集合称为背景, 所有其它元素称为洞。如下图:如果以4连通来考虑前景和背景,左图有四个大小为一个像素的前景物体和一个洞,如果以8连通考虑,那么有一个前景物体而没有洞。所以存在不确定性,常对前景和背景使用不同的连通解决此问题。,2.4 二值图像运算,7 边界:s的边
13、界是s(前景)中与 (背景)有4连通关系的像素集合,用s表示 8 内部:s中不属于它的边界的像素集合,用s-s表示 9 包围:如果从s中任意一点到图像边界的4路径必须与区域T相交,则区域T包围区域s(s在T内)。,2.4 二值图像运算,2.4 二值图像运算,边界,内部,包围,2.4.4 连通成分标记 连通标记算法:找出图像中的所有连通成分,并对同一连通成分中所有点分配同一标记。 常用连通成分标记算法:递归算法,序贯算法,2.4 二值图像运算,2.4.4 连通成分标记 递归算法 扫描图像,找到没有标记的1点,给它分配一个新的标记L 递归分配标记L给1点的邻点(4邻点或8邻点 ) 如果不存在未标记
14、的点,则停止 返回第一步,2.4 二值图像运算,2.4.4 连通成分标记 4连通序贯算法 从左至右、从上至下扫描图像 如果象素点为1,则: 如果上面点和左面点只有一个标记,复制此标记; 如果两点有相同的标记,则复制此标记; 如果两点有不同的标记,则复制标记,将两个标记输入等价表作为等价标记; 否则给这一像素点分配新标记并输入等价表(都无标记) 如果有多个点要考虑,则返回第二步重复 扫描图像,用等价表中最低标记取代每一标记,2.4 二值图像运算,2.4.5 欧拉数定义:连通成份数减去洞数,E=C-H; 其中E,C和H分别为:欧拉数、连通成份和洞数。此特征具有平稳、旋转和比例不变性。,2.4 二值
15、图像运算,2.4.6 中轴定义:如果对S中像素i,j的所有邻点u,v有下式成立:则S中的像素i,j到 的距离 是局部最大值,S中所有到 的距离是局部最大值的像素点集合称为对称轴或中轴,通常记为 。中轴可作为物体的一种简洁表示由 和 中每一点到 的距离能重构原始像素。中轴可以判断某一像素是否在一区域内。,2.4 二值图像运算,2.4.6 中轴 图示:,2.4 二值图像运算,原始图像,中轴,2.4.7 细化定义:是图像处理运算,可以把二值图像区域缩成线条,以逼近区域的中心线,称为骨架或核线。目的:减少图像成分,只保留区域的最基本信息,以便进一步分析和识别。对象:主要对细长形区域有效,主要对文本分析
16、预处理,以便将文本图像中线条图画或字符笔画表示成单像素线条。,2.4 二值图像运算,2.4.7 细化 细化要求: 连通区域必须细化成连通线结构 说明:最基本的要求,保证连通线结构的数量等于原始图像中连通区域的数量。 细化结果最少应该是8连通 说明:保证所得到的线条总是含有8连通图像的最小数量。 保留终止像素的位置 说明:终止线位置应该保持不变。,2.4 二值图像运算,2.4.7 细化 细化要求: 细化结果应该近似于中轴线 说明:所得到线段应能最好的逼近原始区域的中线,理论上两个像素点的垂直和水平方向真正的中线应在两像素之间半像素位置,但实际中只能是位于原直线的一侧的一条直线。 由细化引起的附加
17、突刺(短分支)应该最小。 说明:由噪声引起,通常先进行细化,然后单独去除长度低于某一特定最小值的任何突刺。,2.4 二值图像运算,2.4.7 细化 33邻域4邻点迭代算法: 对每一个像素,若: 没有上(下左右)邻点 不是孤立点或终止线; 去除该像素点不会断开区域,则去除该像素点; 重复这一步骤直到没有像素点可以去除。,2.4 二值图像运算,2.4.8 扩展与收缩 定义: 扩展:如果某一连通成分可以变化,使得一些背景像素变成1; 收缩:如果物体像素点全方位的消减或变为0; 最简单的实现方法: 扩展:如果邻点是1,则将该点从0变为1; 收缩:如果邻点是0,则将该点从1变为0;:S扩展k倍; :S收
18、缩k倍,2.4 二值图像运算,2.4.8 扩展与收缩 扩展与收缩运算特点:扩展后收缩:能有效的填满空洞却不能去除噪声。收缩后扩展:能去除噪声却不能填满空洞。,2.4 二值图像运算,2.4 二值图像运算,computer vision,49,2.4.9 边界跟踪 连通成分的边界是属于前景并且是与背景邻接的点集; 通常需要按一定的顺序跟踪边界点,一般是按顺时针或逆时针方向跟踪区域边界点; 边界跟踪后往往需要对边界进行平滑处理; 平滑的办法:由于图像边界噪声越大,边界点变化越剧烈,边界相邻点之间的方向变化就越大,所以可以通过设置边界点方向变化阈值对边界平滑。,2.4 二值图像运算,computer
19、vision,50,2.4.9 边界跟踪 边界跟踪算法: 从左到右、从上到下扫描图像,求区域S的起点s(k)=(x(k),y(k),k=0; 用c表示当前边界上被跟踪的像素点(相当于跟踪待定点),置c=s(k),记c左边的4邻点为 ; 按逆时针方向记从b开始的c的8个8邻点分别记为 ,k=k+1; 从b开始,沿逆时针方向找到第一个 ; 置 ; 重复步骤3,4,5,直到s(k)= s(0)。,2.4 二值图像运算,computer vision,51,2.4.9 边界跟踪 边界跟踪图示: 左图是:8邻点区域的边界点; 右图是:左图经过边界平滑后的结果。,2.4 二值图像运算,边界跟踪结果,边界跟
20、踪后平滑结果,computer vision,52,2.4.10 距离测量 任何象素点的距离测度要满足:各种距离函数 欧几里德距离: 街区距离: 棋盘距离:,2.4 二值图像运算,数学形态学(Morphology)一般认为是生物学中研究动物和植物的结构(研究生物机体外形和内部结构及其与功能相关的科学)一个分支。数学形态学用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。 二值形态学运算对象是集合。X为图像集合,B为结构元素,运算过程是用B对X进行操作。,2.5 形态学算子,2.5.1 腐蚀(Erosion)腐蚀目的:消除目标图像中的无用点(或孤立噪声点)的一个过
21、程,其结果使得剩下的目标比处理前减少了一些像素。腐蚀定义: X用B来腐蚀记为 ,定义为腐蚀过程:B平移(x,y)后仍在集合X中的结构元素其参考点的集合。换句话说,用B来腐蚀X得到的集合是B完全包括在集合X中时B的参考点位置的集合。,2.5 形态学算子,2.5.1 腐蚀,2.5 形态学算子,原始图像,腐蚀结构元素,黑色部分为腐蚀后结果;,灰色部分为与图像部分,2.5.2 膨胀(Dilation) 膨胀目的:是腐蚀运算的对偶运算,它是将与目标接触的所有点合并到该目标的过程,其结果是使目标的面积增加了相应数量的像素。膨胀在填补分割后目标中的空洞很有用。 膨胀定义: X用B来膨胀记为 ,定义为膨胀过程
22、:用B来膨胀X得到的集合的位移与集合X至少有一个非零元素相交时结构元素B的参考点位置的集合。,2.5 形态学算子,2.5.2 膨胀,2.5 形态学算子,原始图像,结构元素1,结构元素2,使用结构元素2膨胀出的点,2.5.3 开运算与闭运算 开运算: 过程:对图像先进行腐蚀然后再膨胀运算; 目的:除去比结构元小的所有区域像素点,而留下其余部分。闭运算: 过程:对图像先进行膨胀然后再腐蚀运算。 目的:填充比结构元小的孔洞和凹状区。,2.5 形态学算子,computer vision,59,2.5.4 基本运算性质 位移不变性 位移的结果不因位移的次序而异,或运算结果与运算对象的位移无关。互换性 运
23、算结果与改变运算操作对象的先后次序无关。膨胀具有互换性,腐蚀不具有互换性。,2.5 形态学算子,2.5.4 基本运算性质 组合性 运算过程中各个运算对象可按不同形式结合而对结果不产生影响。膨胀具有组合性。增长性 如果 有 ,则MO具有增长性。,2.5 形态学算子,2.5.4 基本运算性质 同前性 无论MO运算多少次,其结果与运算第一次相同。开运算和闭运算满足同前性。或 外延性 如果 ,则MO具有外延性;否则MO非外延性。膨胀的外延性只有在原点包含在结构元素中才得到保证。 外延性: 或 非外延性: 或,2.5 形态学算子,2.5.5 二值形态学实用算法 1 噪声滤除,2.5 形态学算子,原始噪声
24、图像,腐蚀,膨胀,再膨胀,结果,结构元素要比所有的噪声孔和块大,computer vision,63,2.5.5 二值形态学实用算法 2 边界提取设有一个集合A,其边界为(A)。通过先用一个结构元素B腐蚀A,再求取腐蚀结果和A的差集就可得到(A):下面将用一个8连通的结构元素,得到一个4连通的边界(如下图),2.5 形态学算子,2.5.5 二值形态学实用算法 2 边界提取,2.5 形态学算子,二值图像A,B腐蚀A,结构元素B,原图减去左图,computer vision,65,2.5.5 二值形态学实用算法 3 区域填充区域与边界可以互求,即可以通过区域求边界也可以通过边界填充区域;其迭代过程
25、是:迭代过程是通过B不断的膨胀、求补( )和相交得到的;迭代直至Xk=Xk-1结束。,2.5 形态学算子,2.5.5 二值形态学实用算法 3 区域填充,2.5 形态学算子,二值图像A,A的补集,结构元素B,第一次迭代选取边界内一点作为起始点膨胀,迭代填充结果,computer vision,67,思考与练习,1。(p47) 3.1 2。(p47) 3.2,computer vision,68,二值图像的游程编码,binImage=imread(circles,png);Matlab的workspace中可以察看到binImage是只包含0和255的二值图像; 编写游程算法的图像压缩子函数; 编写游程算法的图像解压子函数; 在主程序中调用以上两个函数; 要求给出压缩比 左图大小为256*256,0为黑,255为白,图像格式为PNG,