《数字图像处理实验__数学形态学和其应用》由会员分享,可在线阅读,更多相关《数字图像处理实验__数学形态学和其应用(10页珍藏版)》请在金锄头文库上搜索。
1、实验五: 图像分割与边缘检测一实验目的1. 理解图像分割的基本概念;2. 理解图像边缘提取的基本概念;3. 掌握进行边缘提取的基本方法;4. 掌握用阈值法进行图像分割的基本方法。二实验基本原理图象边缘检测图像理解是图像处理的一个重要分支,研究为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种
2、图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。边缘检测实际上就是检测图像特征发生变化的位置。图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。边缘检测的方法大多数是基于方向导数掩模求卷积的方法。导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。一阶导
3、数与是最简单的导数算子,它们分别求出了灰度在x和y方向上的变化率,而方向上的灰度变化率可以用相应公式进行计算;对于数字图像,应该采用差分运算代替求导。一幅数字图像的一阶导数是基于各种二维梯度的近似值。图像f(x,y)在位置(x,y)的梯度定义为下列向量:Gf(x,y)= 在边缘测中,一般用这个向量的大小,用表示 函数f在某点的方向导数取得最大值的方向是,方向导数的最大值是称为梯度模。利用梯度模算子来检测边缘是一种很好的方法,它不仅具有位移不变性,还具有各向同性。为了运算简便,实际中采用梯度模的近似形式。=|Gx | + |Gy | 或者 =max(|Gx |,|Gy |)传统的边缘检测算法通过
4、梯度算子来实现的,在求边缘的梯度时,需要对每个象素位置计算。在实际中常用小区域模板卷积来近似快速计算,简单有效,即梯度算子一般采用滤波算子的形式来完成,因此应用很广泛。模板是N*N的权值方阵,经典的梯度算子模板有:Sobel模板、Prewitt模板、Roberts模板、Laplacian模板等。具体模板请见书。拉普拉斯高斯(LoG)算法是一种二阶边缘检测方法。它通过寻找图像灰度值中二阶微分中的过零点(Zero Crossing)来检测边缘点。其原理为,灰度级变形成的边缘经过微风算子形成一个单峰函数,峰值位置对应边缘点;对单峰函数进行微分,则峰值处的微分值为0,峰值两侧符号相反,而原先的极值点对
5、应二阶微分中的过零点,通过检测过零点即可将图像的边缘提取出来。 (a)原图 (b)边缘检测后的图 (c) 阈值处理后的图图象分割图像分割是将图像划分成若干个互不相交的小区域的过程, 小区域是某种意义下具有共同属性的像素的连通集合。如不同目标物体所占的图像区域、前景所占的图像区域等。连通是指集合中任意两个点之间都存在着完全属于该集合的连通路径。1.双峰法先给出原图的直方图,再定出阈值(门限)T,一般取两个峰值间的谷值。2.P参数法这种方法用于目标所占图像面积已知的情况。设目标在最简单图像f(i , j) 中所占的面积s0与图像面积s之比为P = s0/ s,则背景所占面积比为1-P = (s -
6、 s0) / s。一般来说,低灰度值为背景,高灰度值为目标。如果统计图像f(i , j)灰度值不大于某一灰度t的像元数和图像总像元数之比为1-p时,则以t为阈值。3自适应全局阈值(单阈值)算法步骤如下:初始化阈值T (一般为原图像所有像素平均值)。用T分割图像成两个集合:G1 和G2,其中G1包含所有灰度值小于T的像素,G2包含所有灰度值大于T的像素。计算G1中像素的平均值m1及G2中像素的平均值m2。计算新的阈值:T (m1m2)/2 。如果新阈值跟原阈值之间的差值小于一个预先设定的范围,停止循环,否则继续24步。全局单阈值分割只适用于很少的图像。对一般图像采用局部阈值法或多阈值法会得到更好
7、的效果。三 实验内容与要求1) 读出文档中eight.tif 这幅图像,分别用Roberts, Sobel 和拉普拉斯高斯算子对图像进行边缘检测。I=imread(eight.tif);subplot(221),imshow(I);title(原图像);BW1=edge(I,roberts)subplot(222),imshow(BW1);title(roberts算法边缘检测图像);BW2=edge(I,sobel)subplot(223),imshow(BW2);title(sobel算法边缘检测图像);BW3=edge(I,log)subplot(224),imshow(BW3);tit
8、le(log算法边缘检测图像);2 任选一种阈值法进行图像分割.I=imread(eight.tif);subplot(221),imshow(I);title(原图像);subplot(222),imhist(I);title(直方图);newI=im2bw(I,180/255);subplot(223),imshow(newI); title(双峰分割后图像);四.实验结果分析2、分析三种边缘检测算子处理的不同之处;Roberts采用对角线方向相邻两像素之差表示信号的突变,检测水平和垂直方向边缘的性能好于斜线方向,算子定位精度高,在水平和垂直方向效果较好,但是对噪声敏感。Sobel边缘检测
9、算子是像素邻域加权和,模板中心值较大,不但产生较好的边缘效果,而且对噪声具有平滑作用。但存在伪边缘,边缘比较粗定位精度低。算子通常对灰度渐变和噪声较多的图像处理的较好。Prewitt边缘检测算子不仅能检测出边缘点,而且能抑制噪声的影响,对灰度和噪声较多的图像处理较好。3、 阐述自己选用的阈值法所进行图像分割的原理和效果。 假定物体和背景分别处于不同灰度级,图像被零均值高斯噪声污染,图像的灰度分布曲线近似用两个正态分布概率密度函数分别代表目标和背景的直方图,利用这两个函数的合成曲线拟合整体图像的直方图,图像的直方图将会出现两个分离的峰值,如下图然后依据最小误差理论针对直方图的两个峰间的波谷所对应
10、的灰度值求出分割的阈值。该方法适用于具有良好双峰性质的图像,但需要用到数值逼近等计算,算法十分复杂,而且多数图像的直方图是离散、不规则的。在实际阈值分割过程中,往往需要能够自动获取阈值在物体与背景有较强的对比度的图像中,即图像直方图中出现明显双峰时,手动阈值分割比较有效,同时,当有些前景图像和背景图像的灰度值太接近时会导致有些前景图像没有从背景中分离出来,出现图像失真。实验六:数学形态学及其应用一实验目的1.了解二值形态学的基本运算2.掌握基本形态学运算的实现3.了解形态操作的应用二实验基本原理腐蚀和膨胀是数学形态学最基本的变换,数学形态学的应用几乎覆盖了图像处理的所有领域,给出利用数学形态学
11、对二值图像处理的一些运算。膨胀就是把连接成分的边界扩大一层的处理。而收缩则是把连接成分的边界点去掉从而缩小一层的处理。 二值形态学I(x,y), T(i,j)为 0/1图像腐蚀:膨胀:灰度形态学 T(i,j)可取以外的值 腐蚀:膨胀: 1.腐蚀Erosion: 删两边 删右上图5-1 剥去一层(皮) 2.膨胀Dilation:补两边 补左下图5-2 添上一层(漆)3.开运算open :4.闭close:三实验内容与要求 1) 读出文档中finger.tif 这幅图像,设计程序实现去除图像中的噪声; 2) 设计程序,实现去除图rectangel.tif 中的矩形区域外的噪声,并填充矩形区域内部。
12、 1I=imread(finger.tif);J=im2bw(I);se = strel(disk,1);K=imerode(J,se);subplot(1,2,1),imshow(I),title(原图)subplot(1,2,2), imshow(K),title(去噪图片)2A=imread(rectangel.tif);A=imerode(A,SE);subplot(1,3,1),imshow(A) title(原始图像) subplot(1,3,3),imshow(B)title(填充内部)C=imdilate(B,SE);subplot(1,3,2),imshow(C)title(
13、去除外部)四.实验结果分析阐述自己选用的二值形态学方法原理和效果 原理:简单的腐蚀是消除物体的所有边界点的一种过程,其结果是使剩下的物体沿其周边比原物体小一个像素的面积。简单的膨胀运算是将与某物体接触的所有背景点合并到该物体中的过程。过程的结果是使物体的面积增大了相应数量的点,如果物体是圆的,它的直径在每次膨胀后将增大两个像素。如果两个物体在某一点的任意方向相隔少于三个像素,它们将在该点连通起来。 腐蚀可以消除图像中小的噪声区域,膨胀可以填补物体中的空洞。对一个图像先进行腐蚀运算然后再膨胀的操作过程称为开运算,它可以消除细小的物体、在纤细点处分离物体、平滑较大物体的边界时不明显的改变其面积。如果对一个图像先膨胀然后再收缩,我们称之为闭运算,它具有填充物体内细小的空洞、连接邻近物体、在不明显改变物体面积的情况下平滑其边界的作用。通常情况下,当有噪声的图像用阈值二值化后,所得到的边界是很不平滑的,物体区域具有一些错判的孔洞,背景区域散布着一些小的噪声物体,连续的开和闭运算可以显著的改善这种情况,这时候需要在连接几次腐蚀迭代之后,再加上相同次数的膨胀,才可以产生所期望的效果。 效果:成功的消除了图像中的噪声点,同时又起到了平滑边缘的作用