
数字图像处理_胡学龙等_第07章_图像分割.ppt
96页图6.14 内插法几何校正(4)变换编码• 基本原理是–利用坐标变换,如果选择的变换坐标与图像特征 相匹配就可以大大压缩二维数据• 重要的变换编码方法是–离散余弦变换DCT,它有快速算法,二维变换可以转化为二次一维变换–DCT变换后的系数相对集中,还可以进一步进行量化,从而更大幅度地压缩图像的数据量5)无损压缩• 降低编码的冗余,在不减少传送信息量的条件下减少了码率• 主要类型有–Huffman编码–算术编码–游程编码(6)JPEG标准• 适用于静止图像–它将图像分解为8×8的样值子块–用DCT进行变换、量化、Z字形重排–用霍夫曼码对量化系数进行编码,进一步压缩数 据量• 新的发展–JPEG2000标准第七章图像分割 • 知识要点: • 图像分割的目的、定义和分类 • 像素间的关系:邻域和连通性 • 阈值分割技术:全局阈值分割和局部阈值分割 • 边缘检测:梯度算子、拉普拉斯算子、拉普拉 斯-高斯算子、方向算子、canning算子、边缘跟 踪 • 区域检测法 • 霍夫变换7.1 概 述 u 一、图像分割的目的和任务n典型的图像分析和理解的系统: n系统分为图像输入、预处理、图像分割(image segment)、图像识别、结构句法分析。
图7.1 图像分析系统• 图像分割的目的是将目标从背景中提取 出来,为图像分析和图像理解做准备的 处理过程 • 分割是将图像细分为一个个子区域或对 象 • 分割的程度取决于要解决的问题 • 精确的分割决定着图像分析的成败二、图像分割的集合定义三、图像分割的依据和分类图像分割方法的分类• 根据分割方法的不同,通常有两种分类方 法: • 1、根据图像的两种特性进行分割:一种 是根据各个像素点的灰度不连续性进行分 割;一种是根据同一区域具有相似的灰度 进行分割;l 分割结果中同一个子区域内的像素应当是连通的l同一个子区域内的任两个像素在该子区域内互相连通图像分割相似性检测不连续性检测区域分割 阈值分割 区域分裂与合并 自适应边界分割 边缘检测 边缘跟踪 Hough变换图7.2 图像分割算法• 2、根据分割的处理策略不同进行分割:一种是 并行算法,所有的判断和决策都可以独立进行 ; 另一种是串行算法,后期的处理依赖前期的运算 结果后者运算时间较长,但抗干扰能力较强 阈值分割:并行区域类 边缘检测:并行边界类 边缘跟踪:串行边界类 区域生长:串行区域类• 根据应用目的的不同,分为粗分割和细分 割。
• 根据分割对象的属性,分为灰度图像分割 和彩色图像分割 • 根据分割对象的状态,分为静态图像分割 和动态图像分割 • 根据分割对象的应用领域,分为遥感图像 分割,交通图像分割,医学图像分割,工 业图像分割,军事图像分割等7.2 像素的邻域和连通性1. 4邻域 n 对一个坐标为 的像素p,它可以有两个水平和两 个垂直的近邻像素它们的坐标分别是n这四个像素称为p 的4邻域n互为4邻域的像素又称为4连通的 2. 8邻域 n 取像素p四周的8个点作为相链接的邻域点,除 掉p本身外,剩下的8个点就是p的8邻域n互为8邻域的像素又称为8连通的 u目标和背景的连通性定义必须取不同,否则会引起矛盾图7.3 目标和背景连通性• 根据连通性,可以定义图像的特征点和线 • (1)边界点(boundary point):如果目标点集S中的 点p ,有邻点在S的补集,那么p便是 S的边界点 ,这种 点的集合,便是S的边界,记为S’ • (2)S的内部(interior)和内点(interior point):目 标点集S和边界点集S’之差称为S的内部,处于S内 部的点称为S的内点 • (3)孤点:没有邻接点的点。
• (4)封闭曲线:如果连通域S中的所有点都有两个 邻点,则称连通域为封闭曲线例7.1】根据4/8连通准则在二值图像中判断目 标解:应用函数bwlabel可以根据4连通或8连通准则,在给 定的二值图像矩阵BW中寻找目标MATLAB程序: BW = [1 1 1 0 0 0 0 0;1 1 1 0 1 1 0 0;1 1 1 0 1 1 0 0;1 1 1 0 0 0 1 0;1 1 1 0 0 0 1 0;1 1 1 0 0 0 1 0;1 1 1 0 0 1 1 0;1 1 1 0 0 0 0 0]; %给定的二值图像矩阵 L4 = bwlabel(BW,4) %根据4连通准则判定目标 L8 = bwlabel(BW,8) %根据8连通准则判定目标Ø根据4连通准则,得到的目标 是3个:L4 = 1 1 1 0 0 0 0 01 1 1 0 2 2 0 01 1 1 0 2 2 0 01 1 1 0 0 0 3 01 1 1 0 0 0 3 01 1 1 0 0 0 3 01 1 1 0 0 3 3 01 1 1 0 0 0 0 0Ø 根据8连通准则,得到目标 是2个:L8 =1 1 1 0 0 0 0 01 1 1 0 2 2 0 01 1 1 0 2 2 0 01 1 1 0 0 0 2 01 1 1 0 0 0 2 01 1 1 0 0 0 2 01 1 1 0 0 2 2 01 1 1 0 0 0 0 07.3 图像的阈值分割技术 -并行区域类 n 灰度阈值分割方法:n 若图像中目标和背景具有不同的灰度集 合,且两个灰度集合可用一个灰度级阈值T进行分割。
n 这样就可以用阈值分割灰度级的方法在 图像中分割出目标区域与背景区域n 设图像为 ,其灰度集范围是[0,L],在0 和L之间选择一个合适的灰度阈值Tn 图像分割方法可由下式描述:这样得到的是一幅二值图像 n 图7.4给出了利用阈值分割图像的实例 n (a)是原图 n (b)是对应的直方图 n (c)是选择分割阈值为110的结果图 (7.1) (a)原图像 (b)直方图 (c)已分割的图像 图7.4 阈值分割 7.3.1 全局阈值分割l全局阈值是最简单的图像分割方法根 据不同的目标,选用最佳的阈值l1.实验法l 如果分割之前就知道图像的一些特征,那么 阈值确定就比较简单,只要用不同的阈值进 行测试,即可检查该阈值是否适合图像的已 知特征l 这种方法需要知道图像的某些特征,但 有时这些特征是不可预知的l2.直方图法l 先做出图像的灰度直方图,若直方图成双峰且 有明显的谷底,则可以将谷底对应的灰度值作 为阈值T,然后根据阈值进行分割,就可以将目 标从图像中分割出来l适用于目标和背景的灰度差较大,直方图 有明显谷底的情况• 3.最小误差的方法7.3.2局部阈值分割7.3.3 自适应阈值的选取l这类算法的时间复杂度和空间复杂度比较大 ,但是抗噪声的能力比较强 。
l对采用全局阈值不容易分割的图像有较好的 效果l这种方法的关键问题是如何将图像进行划分 和如何为得到的子图像估计阈值l 任何一种分割方法都有其局限性l实际的算法只能根据实际情况选择方法和阈值 7.4 图像的边缘检测-并行边界类l 在灰度渐变的图像中无法区别其灰度变化的边界, 但如果边界灰度有突变,则可以区分两个灰度不同 的区域,这是基于灰度不连续性进行的分割方法l 用差分、梯度、拉普拉斯算子及各种高通滤波处理 方法对图像边缘进行增强,只要再进行一次门限化 的处理,便可以将边缘增强的方法用于边缘检测l 边缘检测要按照图像的内容和应用的要求进行,可 以先对图像做预处理,使边缘突出,然后选择合适 的阈值进行分割7.4.1 梯度算子l梯度对应于一阶导数,相应的梯度算子 就对应于一阶导数算子l对于一个连续函数f (x,y),其在(x,y)处的 梯度:(7.2) • MATLAB边缘检测的函数:BW=edge(I,’edge-finding methods’,thresh,direction) • I:灰度图像 • BW:返回的相同大小的二值图像,若检测到边沿则返回1 ,否则返回0 • Edge函数:‘sobel’:sobel方法’prewitt sobel’:prewitt方法 ’robert”:robert方法 • Thresh:指定分割方法的阈值 • Direction:指定分割方法的方向,可以指定’horizonal’( 水平)边缘;vertical’(垂直)边缘 • ‘both’双向边缘 • 通过算子检测后,还需作二值处理从而找到边界点。
• 图7.5给出了利用这三个算子进行边缘检测的不同效果a) 原图像 (b) Roberts算子检测 (c) Prewitt算子检测 (d) Sobel算子检测 I = imread('blood1.tif');• imshow(I);• BW1 = edge(I,'roberts'); • %进行Roberts算子边缘检测,门限值采用默认值• BW2 = edge(I,'prewitt');• %进行Prewitt算子边缘检测,门限值采用默认值• BW3 = edge(I,'sobel'); • %进行Sobel算子边缘检测,门限值采用默认值• figure,imshow(BW1,[]);• figure,imshow(BW2,[]);• figure,imshow(BW3,[]); • Robert算子:定位精度高,但也易丢失部 分边缘,抗噪声能力差,适用于低噪声、 陡峭边缘的场合 • Prewitt算子、Sobel算子:首先对图像做平 滑处理,因此有一定的抑制噪声的能力, 但不能排除检测结果中的虚假边缘,易出 现多像素宽度。
• 7.4.2二阶导数算子法:l Laplacian是二阶导数算子,也是借助模板来实现的l 对模板有一些基本要求:l模板中心的系数为正,其余相邻系数为负,且所有的 系数之和为零l 常用的模板有:拉普拉斯算子对图像中阶跃型边缘定位准确,但对噪 声具有极高的敏感性,可能丢失部分边缘的方向信 息,造成不连续的检测边缘,所以在边缘检测中用 的比较少• 如果先对图像做平滑降噪处理,则可以明显降 低对噪声的敏感性,拉普拉斯-高斯算子就是基 于这种思想提出的 • LOG算子(Marr算子):用高斯函数对图像进行滤 波,在对滤波后的图像进行拉普拉斯运算,结 果为零的位置即为边缘点的位置滤波提高了 抗噪声的能力,但同时可能是原本比较尖锐的 边缘平滑了,甚至检测不到实现的MATLAB程序: • I = imread('blood1.tif'); • imshow(I); • BW4 = edge(I,'log'); • figure,imshow(BW4,[]); 图7.6 Laplacian算子边缘检测的结果图图7.6所示是应用Laplacian算子, 对图7.5(a)进行边缘检测的结果7.4.3 方向算子l 利用一组模板对图像中的同一像素求卷积, 然后选取其中最大的值作为边缘强度,而将 与之对应的方向作为边缘方向。
l 相对于梯度算子的优点:不仅仅只考虑水平 和垂直方向,还可以检测其他方向上的边缘 l 但计算量将大大增加l 常用的有8方向Kirsch(3×3)模板,如图7.7 所示,方向间的夹角为45º 图7.7 3×3 Kirsch算子的八方向模板 7.4.4 Canny边缘检测算子l Canny的主要工作:推导了最优边缘检测算子。
