文档视界 最新最全的文档下载
当前位置:文档视界 › 实验五图像分割及目标检测

实验五图像分割及目标检测

实验五图像分割及目标检测
实验五图像分割及目标检测

电子科技大学

学生姓名:

学号:

指导教师:彭真明

日期: 2014 年 5 月 20 日

一、实验名称:图像分割及目标检测

二、实验目的:

1、了解图像边缘检测及图像区域分割的目的、意义和手段。

2、熟悉各种经典的边缘检测算子、图像分割方法及其基本原理。

3、熟悉各种图像特征表示与描述的方法及基本原理。

4、熟练掌握利用matlab 工具实现各种边缘检测的代码实现。

5、熟练掌握利用matlab 工具实现基本阈值分割的代码实现。

6、通过编程和仿真实验,进一步理解图像边缘检测、图像分割及其在目标检测、目标识别及跟踪测量应用中的重要性。

三、实验原理及步骤:

1、利用Soble算子进行图像的边缘检测

(1)原理与步骤

数字图像的边缘一般利用一阶/二阶差分算子进行检测。常用的差分算子包括:Roberts 算子(交叉对角算子),Prewitt 算子(一阶),Sobel 算子(一阶),Laplacian 算子(二阶),LoG 算子(二阶)及Canny 边缘检测算法等。其中,Soble 算子为常见的一类梯度算子(一阶梯度算子)。

其x, y 方向的梯度算子分别为:

一幅数字图像I(如图1)与Sx 和Sy 分别做卷积运算后(可采用多种方式,如conv2,filter2 及imfilter),可以求得x,y 两个方向的梯度图像Dx,Dy,然后,可以计算得到原图像的梯度幅度,即

或:

(2)进一步执行梯度图像D 的二值化处理(建议采用Otsu 阈值,也可考虑其他阈值分割),检测图像的二值化边缘。

(3)对于与步骤同样的输入图像I,利用matlab 工具的edge(I,’soble’)函数进行处理。试比较处理结果与步骤(2)的得到的结果的差异,并分析存在差异的原因。

(4)画出原图像、原图像的Dx, Dy 图,幅度图(D)及最后的二值化边缘检测结果图。

2、数字图像中目标区域的形心计算

(1)按如下公式计算原图像(图 2)的质心。

(2)对图 2 中的黑色形状目标进行阈值分割,得到二值化的图像;

图2 原始图像(240*240)

(3)计算目标形状的面积(以像素表示);

(4)计算图中黑色形状目标的形心位置,并在原图上进行位置标记(可用红色小圆圈)。

其中,M,N 为图像尺寸。x,y 为像素图像平面上的坐标。

(5)画出原图像、原图上叠加质心标记图;分割后的二值化图及分割图上叠加形心标记图。

四、程序框图

五、程序源代码:

1、利用Soble算子进行图像的边缘检测

clc;clf;clear all;

I=imread('C:\Users\Cancer_5kai\Desktop\'); I=double(I);

Sx=[-1 0 1

-2 0 2

-1 0 1];

Sy=[-1 -2 -1

0 0 0

1 2 1];

Dx=conv2(I,double(Sx),'same');

Dy=conv2(I,double(Sy),'same');

[m,n]=size(I);

D=sqrt(Dx.^2+Dy.^2);

T=graythresh(D);

T=T*255;

for i=1:m

for j=1:n

if D(i,j)>T

D1(i,j)=1;

else

D1(i,j)=0;

end

end

end

BW2=edge(I,'sobel');

subplot(231),imshow(I,[]);title('原图像')

subplot(232),imshow(Dx,[]);title('Dx图')

subplot(233),imshow(Dy,[]);title('Dy图')

subplot(234),imshow(D,[]);title('幅度图')

subplot(235),imshow(D1,[]);title('二值化边缘检测结果图') subplot(236),imshow(BW2,[]);title('sobel边缘检测结果图') 2、数字图像中目标区域的形心计算

clc,clf,clear all;

A=imread('C:\Users\Cancer_5kai\Desktop\'); subplot(221),imshow(A);title('原图像');

A=double(A);

[m,n]=size(A);

for j=1:n

for i=1:m

Xc(i,j)=i*A(i,j);

Yc(i,j)=j*A(i,j);

end

end

Xc=sum(sum(Xc))/sum(sum(A));

Yc=sum(sum(Yc))/sum(sum(A));

subplot(222),imshow(A,[]);hold on;

plot(Yc,Xc,'or');title('原图上叠加质心标记图'); T=graythresh(A)*255;

S=0

for i=1:m

for j=1:n

if A(i,j)>T

A1(i,j)=1;

else

A1(i,j)=0;

S=S+1;

end

end

end

S

subplot(223),imshow(A1,[]);title('分割后的二值化图'); A2=1-A1;

for i=1:m

for j=1:n

x1(i,j)=i*A2(i,j);

y1(i,j)=j*A2(i,j);

end

end

xc=sum(sum(x1))/sum(sum(A2));

yc=sum(sum(y1))/sum(sum(A2));

subplot(224),imshow(A1,[]);hold on;

plot(yc,xc,'or');title('分割图上叠加形心标记图');

六、实验结果:

1、利用Soble算子进行图像的边缘检测

如图可看出:二值化边缘检测比soble边缘检测图像轮廓更清晰些

2、数字图像中目标区域的形心计算

目标形状的面积为:7850个像素

七、思考题

1、利用梯度算子与图像进行卷积运算后,为什么还需要给定阈值进行二值化处理?

答:利用梯度算子与图像进行卷积运算后得到的只是图像像素灰度变化的梯度图,经过二值化处理后才能提取出有用的图像边界。

2、Laplacian 算子检测边缘为什么会产生双边效果?为什么不能检测出边的方向。

答:Laplacian 算子实际是对图像求二阶导数,二阶导数在灰度斜坡和灰度台阶过渡处产生双边效应。

3、相对其他边缘检测算子,Canny 边缘检测算法的主要优势体现在哪里?

答:(1)低失误概率、(2)高位置精度、(3)对每个边缘有唯一的响应。

八、总结及心得体会

通过学习实践,了解了图像边缘检测及图像区域分割的目的、意义和手段,熟悉了各种经典的边缘检测算子、图像分割方法及其基本原理,熟悉了各种图像特征表示与描述的方法及基本原理,掌握了利用matlab 工具实现各种边缘检测和基本阈值分割的的代码实现,通过编程和仿真实验,进一步理解了图像边缘检测、图像分割及其在目标检测、目标识别及跟踪测量应用中的重要性。

实验六-图像分割教学文稿

实验六-图像分割

信息工程学院实验报告 课程名称:数字图像处理 实验项目名称:实验六图像分割实验时间:2016.12.16 班级:姓名:学号: 一、实验目的 1. 使用MatLab 软件进行图像的分割。使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响。 2. 要求学生能够自行评价各主要算子在无噪声条件下和噪声条件下的分割性能。能够掌握分割条件(阈值等)的选择。完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。 二、实验内容与步骤 1.边缘检测 (1)使用Roberts 算子的图像分割实验 调入并显示图像room.tif图像;使用Roberts 算子对图像进行边缘检测处理; Roberts 算子为一对模板: (a)450方向模板(b)1350方向模板 图 1 matlab 2010的Roberts算子模板 相应的矩阵为:rh = [0 1;-1 0]; rv = [1 0;0 -1];这里的rh 为45度Roberts 算子,rv 为135度Roberts 算子。分别显示处理后的45度方向和135方向的边界检测结果;用“欧几里德距离”和“街区距离”方式计算梯度的模,并显示检测结果;对于检测结果进行二值化处理,并显示处理结果。 提示:先做检测结果的直方图,参考直方图中灰度的分布尝试确定阈值;应反复调节阈值的大小,直至二值化的效果最为满意为止。 (2)使用Prewitt 算子的图像分割实验

(a)水平模型(b)垂直模板 图2. Prewitt算子模板 使用Prewitt 算子进行内容(1)中的全部步骤。 (3)使用Sobel 算子的图像分割实验 使用Sobel (a)水平模型(b)垂直模板 图3. Sobel算子模板 (4)使用LoG (拉普拉斯-高斯)算子的图像分割实验 使用LoG (拉普拉斯-高斯)算子进行内容(1)中的全部步骤。提示1:处理后可以直接显示处理结果,无须另外计算梯度的模。提示2:注意调节噪声的强度以及LoG (拉普拉斯-高斯)算子的参数,观察处理结果。 (5) 打印全部结果并进行讨论。 下面是使用sobel算子对图像进行分割的MATLAB程序 f=imread('room.tif'); [gv,t1]=edge(f,'sobel','vertical');%使用edge函数对图像f提取垂直边缘 imshow(gv) [gb,t2]=edge(f,'sobel','horizontal');%使用edge函数对图像f提取水平边缘 figure,imshow(gb) w45=[-2 -1 0;-1 0 1;0 1 2];%指定模版使用imfilter计算45度方向的边缘 g45=imfilter(double(f),w45,'replicate'); T=0.3*max(abs(g45(:))); %设定阈值 g45=g45>=T; %进行阈值处理 figure,imshow(g45); 在函数中使用'prewitt'和'roberts'的过程,类似于使用sobel边缘检测器的过程。

实验三 图像分割

实验三图像分割 一、实验目的 1、掌握基于边缘的分割方法:检测图像点边缘,线边缘 2、掌握基于区域的分割方法:阈值分割技术、区域生长技术、分水岭分割方法 3、用MATLAB编写程序实现上述分割方法 二、实验内容 1、点、线和边缘检测 1)点检测方法为g=abs(imfilter(double(f),w))>=T,即将图像f 用8邻域拉普拉斯模板w 进行滤波,得到滤波图像g,将图像g中大于最高灰度值一半的图像显示出来,即得到检测的点。 2)线检测方法为g=abs(imfilter(double(f),w)),即将图像f分别用,水平、垂直、+45度,-45度模板检测。 3)边缘检测方法为使用edge函数,语法BW = edge(I,‘parameter’),即用edge函数,通过实验选择一种较好的算子检测图像边缘。 要求:给出djc.m,xjc.m,byjc.m三个完整程序,给出原始图像,检测后的图像,合理排列图像,给出合理的图像title。 2、阈值分割 语法:level = graythresh(I) ,自动阈值分割。 要求:给出yzfg.m完整程序,给出原始图像,分割后的图像,合理排列图像,给出合理的图像title。 3、区域生长技术 使用函数regionGrow(见附件1),实现图像分割。 要求:给出程序各行注释;给出原始图像,分割后的图像,合理排列图像,给出合理的图像title。 4、分水岭分割方法 使用附件2代码对图像进行分割。 要求:给出程序各行注释;给出原始图像,分割后的图像,合理排列图像,给出合理的图像title。 三、实验报告内容 1、4个源程序,2个程序注释;分别实现图像分割。 2、试验中涉及的相应的图像,具体见每一项实验的“要求”。打印图像(B5纸),附在试验报告之后。

图像处理实验-图像增强和图像分割

图像处理实验 图像增强和图像分割 一、实验目的: 掌握用空间滤波进行图像增强的基本方法,掌握图像分割的基本方法。 二、 实验要求: 1、测试图像1中同时含有均值为零的均匀分布噪声和椒盐噪声。用大小为5×5的算术均值滤波器和中值滤波器对图像进行处理,在不同窗口中显示原图像及各处理结果图像,并分析哪一种滤波器去噪效果好? 2、对测试图像2进行图像分割,求出分割测试图像2的最佳阈值。分别显示原图、原图的直方图(标出阈值)、和分割后的二值图。 实验内容: 1. 实验原理 1) 图像增强:流程图: 图像增强可以通过滤波的方式来完成,即消除一部分的噪声。滤波又可以分为均值滤波和中值滤波。 1. 中值滤波原理:中值滤波就是选用一个含有奇数个像素的滑动窗口,将该窗口在图像上扫描,把其中所含像素点按灰度级的升(或降)序排列,取位于中间的灰度值来代替窗口中心点的灰度值。

对于一维序列{N f }: 21,},...,,...,{-=∈=+-m u N i f f f M e d y u i i u i i 对于二维序列{ij F }:为滤波窗口W y ij F Med W ij }{= 2. 均值滤波原理:对于含噪声的原始图像g(s,t)的每一个像素点去一个领 域N ,用N 中所包含的相速的灰度平均值,作为领域平均处理后的图像f(x,y)的像素值,即: ∑∈=xy S t s t s g mn y x f ),(),(1),(? 2) 图像分割: 图像分割:依据图像的灰度、颜色等特征,将一幅图像分为若干个互不重叠的、具有某种同质特征的区域。

本实验中我们是根据灰度值,将灰度值大于阈值T的像素统一置为255,小于的则置为0。如何求出最合适的分割阈值,则需要用到迭代算法。 迭代法算法步骤: (1) 初始化阈值T (一般为原图像所有像素平均值)。 (2) 用T分割图像成两个集合:G1 和G2,其中G1包含所有灰度值小于T的像素,G2包含所有灰度值大于T的像素。 (3) 计算G1中像素的平均值m1及G2中像素的平均值m2。 (4) 计算新的阈值:T =(m1+m2)/2 。 (5)如果新阈值跟原阈值之间的差值小于一个预先设定的范围,停止循环,否则继续(2)-(4)步。 2.程序代码与分析: 1)图像增强: clear all;clc; %读入图像 I1=imread('Fig5.12(b).jpg'); %均值滤波模板 h1=ones(5,'uint8'); %获取分辨率 [a,b]=size(I1); %创建变量 I2=zeros(a+4,b+4,'uint8'); I3=zeros(a+4,b+4,'uint8'); %复制原始图像 for n=3:a+2 for m=3:b+2 I2(n,m)=I1(n-2,m-2); I3(n,m)=I1(n-2,m-2); end end

实验2 图像分割

实验二、图像分割 一、实验目的 1、使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响; 2、使用MatLab 软件进行图像的分割; 3、能够自行评价各主要算子在无噪声条件下和噪声条件下的分割性能; 4、能够掌握分割条件(阈值等)的选择; 5、完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。 二、实验原理 1、边缘检测 (1)使用Roberts 算子的图像分割实验,调入并显示一幅图像*.gif或*.tif;使用Roberts 算子对图像进行边缘检测处理;Roberts 算子为一对模板,相应的矩阵为: rh = [0 1;-1 0]; rv = [1 0;0 -1]; 这里的rh 为水平Roberts 算子,rv为垂直Roberts 算子。可以显示处理后的水平边界和垂直边界检测结果;用“欧几里德距离”方式计算梯度的模,显示检测结果;对于检测结果进行二值化处理,并显示处理结果。 (2)使用Prewitt 算子的图像分割实验 使用Prewitt 算子进行内容(1)中的全部步骤。 (3)使用Sobel 算子的图像分割实验 使用Sobel 算子进行内容(1)中的全部步骤。 (4)使用Canny算子进行图像分割实验。 (5) 使用拉普拉斯算子进行图像分割实验。 I=imread('D:\blood.bmp'); Imshow(I); BW1=edge(I,'roberts'); BW2=edge(I,'prewitt'); BW3=edge(I,'sobel'); BW4=edge(I,'log'); BW5=edge(I,'canny');

实验三图像分割与边缘检测

数字图像处理实验报告 学生姓名王真颖 学生学号L0902150101 指导教师梁毅雄 专业班级计算机科学与技术1501 完成日期2017年11月06日

计算机科学与技术系信息科学与工程学院

目录 实验一.................................................................................................. 错误!未定义书签。 一、实验目的.................................................................................................... 错误!未定义书签。 二、实验基本原理 ........................................................................................... 错误!未定义书签。 三、实验内容与要求....................................................................................... 错误!未定义书签。 四、实验结果与分析....................................................................................... 错误!未定义书签。实验总结............................................................................................... 错误!未定义书签。参考资料.. (3) 实验一图像分割与边缘检测 一.实验目的 1. 理解图像分割的基本概念; 2. 理解图像边缘提取的基本概念; 3. 掌握进行边缘提取的基本方法;

图像分割实验报告

实验七图像分割 一、实验目的 利用光谱特征进行遥感图像的分割和分割后处理。 二、实验要求 1. 能够根据图像的特征,综合使用不同的方法分割出地物对象。 2. 熟练掌握图像直方图的应用。 3. 掌握彩色图像分割的基本方法 4. 掌握利用波段组合进行图像分割的工作流程 5. 熟悉数学形态学基本方法的应用。 三、实验准备 ●软件准备:ENVI软件 ●数据:兰花.jpg 文字测原始图像.bmp IKNOSm14 nj Hroad ●基本知识: ?图像分割的原则:(1)依据像素灰度值的不连续性进行分割。假定不同区域像素的灰度值具有不连续性,因而可以对其进行分割。(2)依据同一区域内部 像素的灰度值具有相似性进行分割。这种方法一般从一个点(种子)出发,将 其邻域中满足相似性测量准则的像素进行合并从而达到分割的目的。依据像素 的不连续性进行分割的方法只要是区域增长法。 ?图像分割的工作流程:(1)确定待分割的对象;(2)选择对分割对象敏感的波段;(3)选择分割方法进行分割;(4)将分割后的结果图像转为矢量图。 ?图像分割:(1)图像分割是指把图像分成各具特性的区域并提取出感兴趣的目标的技术和过程。从数学角度来看,图像分割是将数字图像划分成互不相交的 区域的过程。图像分割的过程也是一个标记的过程,即将属于同一个区域的像 素赋予相同的编号的过程。(2)目的:将一幅图像分为几个区域,这几个区域 之间具有不同的属性,同一区域中各像素具有某些相同的性质。 ?图像分割的方法:(1)灰度阀值法,它在目标与背景之间存在强对比时特别有效(直方图方法);(2)数学形态学方法,腐蚀、膨胀、开运算和闭运算; ?波段运算:ENVI Band Math是一个灵活的图像处理工具,其中许多功能是无法在任何其它的图像处理系统中获得的。由于每个用户都有独特的需求,利用 此工具用户自己定义处理算法,应用到在ENVI打开的波段或整个图像中,用 户可以根据需要自定义简单或复杂的处理程序。例如:可以对图像进行简单加、 减、乘、除运算,或使用IDL编写更复杂的处理运算功能。 ?波段运算实质是对每个像素点对应的像素值进行数学运算。

图像分割实验报告汇总

图像分割实验报告 一、实验目的 1. 掌握图像分割的基本思想,了解其分割技术及其计算策略; 2. 学会从图像处理到分析的关键步骤,掌握图像分割过程; 3. 了解图像分割的意义,进一步加深对图像分析和理解; 4. 掌握基本分割方法:迭代分割和OTSU图像分割,并编程实现。 二、实验原理 (一)迭代阈值分割选取的基本思路是:首先根据图像中物体的灰度分布情况,选取一个近似阈值作为初始阈值,一个较好的方法就是将图像的灰度均值作为初始阈值,然后通过分割图像和修改阈值的迭代过程获得认可的最佳阈值。迭代式阈值选取过程可描述如下: 1. 计算初始化阈值g0=(g max+g min) ; 2 2. 根据g0,将图像分为两部分,分别计算灰度值期望,取其平均值为g1; 3. 如此反复迭代,当|g n-g n?1|足够小时,停止迭代,取T=g n即为最终阈值。 (二)OTSU图像分割(最大类间方差法)是一种自适应的阈值确定的方法,是按图像的灰度特性,将图像分成背景和目标两部分。背景和目标之间的类间方差越大,说明构成图像的两部分的差别

越大, 当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。以最佳门限将图像灰度直方图分割成两部分,使两部分类间方差取最大值,即分离性最大。OTSU阈值选取过程可描述如下: 1.记T为目标与背景的分割阈值,目标点数占图像比例为w1,平均灰度为u1;背景点数占图像比例为w2,平均灰度为u1; 2.图像的总平均灰度为:u=w1*u1+w2*u2; 3.目标和背景图象的方差:g=w1*(u1-u)*(u1-u)+w1*(u2-u)*(u2-u)=w1*w2*(u1-u2)*(u1-u2); 4.当方差g最大时,可以认为此时前景和背景差异最大,此时的灰度T是最佳阈值。 二、实验内容 1. 利用C++编程实现迭代阈值图像分割算法; 2. 利用C++编程实现OTSU动态阈值图像分割算法。 三、实验框图

数字图像处理实验 图像分割

实验报告 实验名称实验四图像分割 课程名称数字图像处理A 姓名成绩 班级学号 日期地点 1.实验目的 (1)了解并掌握图像分割的基本原理; (2)编写程序使用Hough变换处理图像,进行线检测;

(3)编写程序使用阈值处理方法进行图像分割,根据实验结果分析效果; (4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。 2.实验环境(软件条件) Windws2000/XP MATLAB 7.0 3.实验方法 对256级灰度的数字图像camera.bmp(如图4.1所示)和car.bmp(如图4.2所示)进行如下处理: (1)对图像camera.bmp进行Hough变换进行线检测,显示处理前、后图像: 思考如何利用Hough变换进行圆检测; (2)对图像car.bmp分别利用不同的阈值处理方法进行图像中汽车及车牌的分割,显示处理前、后图像;思考不同的阈值处理算法对分割效果的影响? 4.实验分析 实验原理 Hough变换是最常用的直线提取方法,它的基本思想是:将直线上每一个数据点变换为参数平面中的一条直线或曲线,利用共线的数据点对应的参数曲线相交于参数空间中一点的关系,使直线的提取问题转化为计数问题。Hough变换提取直线的主要优点是受直线中的间隙和噪声影响较小。 思考: Hough变换对圆的检测: Hough变换的基本原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线。 圆的方程为:222 ()() x a y b r -+-=,通过Hough变换,将图像空间(,) x y对应到参数空间(,,) a b r。 第一题结果图 图4.1 实验图像camera.bmp 图4.2 实验图像car.bmp

实验五图像分割及目标检测

电子科技大学 实 验 报 告 学生姓名: 学号: 指导教师:彭真明 日期: 2014 年 5 月 20 日 一、实验名称:图像分割及目标检测 二、实验目的:

1、了解图像边缘检测及图像区域分割的目的、意义和手段。 2、熟悉各种经典的边缘检测算子、图像分割方法及其基本原理。 3、熟悉各种图像特征表示与描述的方法及基本原理。 4、熟练掌握利用matlab 工具实现各种边缘检测的代码实现。 5、熟练掌握利用matlab 工具实现基本阈值分割的代码实现。 6、通过编程和仿真实验,进一步理解图像边缘检测、图像分割及其在目标检测、目标识别及跟踪测量应用中的重要性。 三、实验原理及步骤: 1、利用Soble算子进行图像的边缘检测 (1)原理与步骤 数字图像的边缘一般利用一阶/二阶差分算子进行检测。常用的差分算子包括:Roberts 算子(交叉对角算子),Prewitt 算子(一阶),Sobel 算子(一阶),Laplacian 算子(二阶),LoG 算子(二阶)及Canny 边缘检测算法等。其中,Soble 算子为常见的一类梯度算子(一阶梯度算子)。 其x, y 方向的梯度算子分别为: 一幅数字图像I(如图1)与Sx 和Sy 分别做卷积运算后(可采用多种方式,如conv2,filter2 及imfilter),可以求得x,y 两个方向的梯度图像Dx,Dy,然后,可以计算得到原图像的梯度幅度,即 或:

(2)进一步执行梯度图像D 的二值化处理(建议采用Otsu 阈值,也可考虑其他阈值分割),检测图像的二值化边缘。 (3)对于与步骤同样的输入图像I,利用matlab 工具的edge(I,’soble’)函数进行处理。试比较处理结果与步骤(2)的得到的结果的差异,并分析存在差异的原因。 (4)画出原图像、原图像的Dx, Dy 图,幅度图(D)及最后的二值化边缘检测结果图。 2、数字图像中目标区域的形心计算 (1)按如下公式计算原图像(图 2)的质心。 (2)对图 2 中的黑色形状目标进行阈值分割,得到二值化的图像; 图2 原始图像(240*240) (3)计算目标形状的面积(以像素表示); (4)计算图中黑色形状目标的形心位置,并在原图上进行位置标记(可用红色小圆圈)。 其中,M,N 为图像尺寸。x,y 为像素图像平面上的坐标。 (5)画出原图像、原图上叠加质心标记图;分割后的二值化图及分割图上叠加形心标记图。 四、程序框图

实验六 图像分割

信息工程学院实验报告 课程名称:数字图像处理 实验项目名称:实验六 图像分割 实验时间:2016、12、16 班级: 姓名: 学号: 一、实验目得 1、 使用Mat La b 软件进行图像得分割。使学生通过实验体会一些主要得分割算子对图像处理得效果,以及各种因素对分割效果得影响。 2、 要求学生能够自行评价各主要算子在无噪声条件下与噪声条件下得分割性能。能够掌握分割条件(阈值等)得选择。完成规定图像得处理并要求正确评价处理结果,能够从理论上作出合理得解释。 二、实验内容与步骤 1、边缘检测 (1)使用Roberts 算子得图像分割实验 调入并显示图像r oom、tif 图像;使用Ro berts 算子对图像进行边缘检测处理; Ro ber ts 算子为一对模板: (a)450 方向模板 (b)1350方向模板 图 1 mat lab 2010得Ro berts 算子模板 相应得矩阵为:rh = [0 1;—1 0]; rv = [1 0;0 -1];这里得rh 为45度Rob erts 算子,rv 为135度Robert s 算子。分别显示处理后得45度方向与135方向得边界检测结果;用“欧几里德距离”与“街区距离”方式计算梯度得模, 并显示检测结果;对于检测结果进行二值化处理,并显示处理结果。 提示:先做检测结果得直方图,参考直方图中灰度得分布尝试确定阈值;应反复调节阈值得大小,直至二值化得效果最为满意为止。 (2)使用Prewitt 算子得图像分割实验

(a)水平模型(b)垂直模板 图2、Prewitt算子模板 使用Prewitt 算子进行内容(1)中得全部步骤。 (3)使用Sobel 算子得图像分割实验 使用Sobel算子进行内容(1)中得全部步骤。 (a)水平模型(b)垂直模板 图3、Sobel算子模板 (4)使用LoG (拉普拉斯-高斯)算子得图像分割实验 使用LoG (拉普拉斯—高斯)算子进行内容(1)中得全部步骤。提示1:处理后可以直接显示处理结果,无须另外计算梯度得模。提示2:注意调节噪声得强度以及LoG(拉普拉斯-高斯)算子得参数,观察处理结果。 (5)打印全部结果并进行讨论. 下面就是使用sobel算子对图像进行分割得MATLAB程序 f=imread('room、tif'); [gv,t1]=edge(f,'sobel',’vertical');%使用edge函数对图像f提取垂直边缘 imshow(gv) [gb,t2]=edge(f,'sobel’,’horizontal');%使用edge函数对图像f提取水平边缘 figure,imshow(gb) w45=[-2 -10;-10 1;0 1 2];%指定模版使用imfilter计算45度方向得边缘g45=imfilter(double(f),w45,’replicate'); T=0、3*max(abs(g45(:))); %设定阈值 g45=g45>=T;%进行阈值处理 figure,imshow(g45);

数字图像处理实验报告实验三

数字图像处理实验报告实验三

中南大学数字图像处理实验报告 实验三数学形态学及其应用

实验三 数学形态学及其应用 一.实验目的 1.了解二值形态学的基本运算 2.掌握基本形态学运算的实现 3.了解形态操作的应用 二.实验基本原理 腐蚀和膨胀是数学形态学最基本的变换,数学形态学的应用几乎覆盖了图像处理的所有领域,给出利用数学形态学对二值图像处理的一些运算。 膨胀就是把连接成分的边界扩大一层的处理。而收缩则是把连接成分的边界点去掉从而缩小一层的处理。 二值形态学 I(x,y), T(i,j)为 0/1图像Θ 腐蚀:[]),(&),(),)((),(0,j i T j y i x I AND y x T I y x E m j i ++=Θ== 膨胀:[]),(&),(),)((),(0 ,j i T j y i x I OR y x T I y x D m j i ++=⊕== 灰度形态学 T(i,j)可取10以外的值 腐蚀: []),(),(min ),)((),(1 ,0j i T j y i x I y x T I y x E m j i -++=Θ=-≤≤ 膨胀: []),(),(max ),)((),(1 ,0j i T j y i x I y x T I y x D m j i +++=⊕=-≤≤ 1.腐蚀Erosion: {}x B x B X x ?=Θ: 1B 删两边 2B 删右上 图5-1 剥去一层(皮) 2.膨胀Dilation: {}X B x B X x ↑⊕:= 1B 补两边 2B 补左下 图5-2 添上一层(漆) 3.开运算

数字图像处理实验报告——图像分割实验

实验报告 课程名称数字图像处理导论 专业班级 _______________ 姓名 _______________ 学号 _______________ 电气与信息学院 和谐勤奋求是创新

实验题目图像分割实验 实验室 DSP室&信号室实验时间 实验类别设计同组人数2 成绩指导教师签字: 一.实验目的 1.理解图像分割的基本概念; 2.理解图像边缘提取的基本概念; 3.掌握进行边缘提取的基本方法; 4.掌握用阈值法进行图像分割的基本方法。 二.实验内容 1.分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测。比较三种算子处理的不同之 处; 2.设计一个检测图1中边缘的程序,要求结果类似图2,并附原理说明。 3.任选一种阈值法进行图像分割. 图1 图2 三.实验具体实现 1.分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测。比较三种算子处理的不同之 处; I=imread('mri.tif'); imshow(I) BW1=edge(I,'roberts'); figure ,imshow(BW1),title('用Roberts算子') BW2=edge(I,'sobel'); figure,imshow(BW2),title('用Sobel算子 ') BW3=edge(I,'log'); figure,imshow(BW3),title('用拉普拉斯高斯算子')

比较提取边缘的效果可以看出,sober算子是一种微分算子,对边缘的定位较精确,但是会漏去一些边缘细节。而Laplacian-Gaussian算子是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘的细节比较丰富。通过比较可以看出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。 2.设计一个检测图1中边缘的程序,要求结果类似图2,并附原理说明。 i=imread('m83.tif'); subplot(1,2,1); imhist(i); title('原始图像直方图'); thread=130/255; subplot(1,2,2);

图像分割实验报告

实验报告 课程名称医学图像处理 实验名称图像分割 专业班级 姓名 学号 实验日期 实验地点 2015—2016学年度第 2 学期

050100150200250 图1 原图 3 阈值分割后的二值图像

分析:手动阈值分割的阈值是取直方图中双峰的谷底的灰度值作为阈值,若有多个双峰谷底,则取第一个作为阈值。本题的阈值取80。 %例2 迭代阈值分割 f=imread('cameraman.tif'); %读入图像 subplot(1,2,1);imshow(f); %创建一个一行二列的窗口,在第一个窗口显示图像title('原始图像'); %标注标题 f=double(f); %转换位双精度 T=(min(f(:))+max(f(:)))/2; %设定初始阈值 done=false; %定义开关变量,用于控制循环次数 i=0; %迭代,初始值i=0 while~done %while ~done 是循环条件,~ 是“非”的意思,此 处done = 0; 说明是无限循环,循环体里面应该还 有循环退出条件,否则就循环到死了; r1=find(f<=T); %按前次结果对t进行二次分 r2=find(f>T); %按前次结果重新对t进行二次分 Tnew=(mean(f(r1))+mean(f(r2)))/2; %新阈值两个围像素平均值和的一半done=abs(Tnew-T)<1; %设定两次阈值的比较,当满足小于1时,停止循环, 1是自己指定的参数 T=Tnew; %把Tnw的值赋给T i=i+1; %执行循坏,每次都加1 end f(r1)=0; %把小于初始阈值的变成黑的 f(r2)=1; %把大于初始阈值的变成白的 subplot(1,2,2); %创建一个一行二列的窗口,在第二个窗口显示图像imshow(f); %显示图像 title('迭代阈值二值化图像'); %标注标题 图4原始图像图5迭代阈值二值化图像 分析:本题是迭代阈值二值化分割,步骤是:1.选定初始阈值,即原图大小取平均;2.用初阈值进行二值分割;3.目标灰度值平均背景都取平均;4.迭代生成阈值,直到两次阈值的灰 度变化不超过1,则稳定;5.输出迭代结果。 %例3 Laplacian算子和模板匹配法

数字图像处理实验报告——图像分割实验

实验报告课程名称数字图像处理导论 专业班级_______________ 姓名_______________ 学号_______________ 电气与信息学院 和谐勤奋求是创新

附录:可能用到的函数和参考结果**************报告里不能用参考结果中的图像 1.分别用Roberts,Sobel和拉普拉斯高斯算子对图像进行边缘检测。比较三种算子处理的不同之处; 输入如下代码: I=imread(''); imshow(I) BW1=edge(I,'roberts'); figure ,imshow(BW1),title('用Roberts算子')

BW2=edge(I,'sobel'); figure,imshow(BW2),title('用Sobel算子') BW3=edge(I,'log'); figure,imshow(BW3),title('用拉普拉斯高斯算子') 得到: 比较提取边缘的效果可以看出,sober算子是一种微分算子,对边缘的定位较精确,但是会漏去一些边缘细节。而Laplacian-Gaussian算子是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘的细节比较丰富。通过比较可以看出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。 2.设计一个检测图3-2中边缘的程序,要求结果类似图3-3,并附原理说明。 利用双峰法 i=imread(''); subplot(1,2,1); imhist(i); title('原始图像直方图'); thread=130/255; subplot(1,2,2); i3=im2bw(i,thread); imshow(i3); title('分割结果'); 根据原图 像的直方 图,发现 背景和目 标的分割 值大约在 130左右, 并将灰度 图像转为 二值图 像,分割 效果比较 理想。 3.任 选一种阈 值法进行 图像分割. 选用双峰法对图像进行分割: i=imread(''); subplot(1,2,1); imhist(i); title('原始图像直方图'); thread=100/255;

数字图像处理实验_阈值分割算法

《数字图像处理》实验 9.编写程序,实现阈值分割算法. %9.编写程序,实现阈值分割算法. %这段代码的想法是通过相邻两个像素的平均值的比较来确定阈值的选取。 %通过f(i-1,j-1),f(i,j),f(x,+1,j+1)这三个两两相邻的像素的平均值来比较。 %若两个平均值的差值小于某一个指定的值,这取这个平均值作为新的阈值。 %这样可以把图像中像素比较平缓的部分和像素差别比较大的部分分割开来。 clear; f = imread('text.jpg'); f=rgb2gray(f); f = im2double(f); g=f; [m,n] = size(f); x=0.1;%x作为判断的值,两个平均值的差不小于x; d = false; while~d fori=2:m-1%为确保f(i,j)的取值在原图的范围内需要保证的范围。 forj=2:n-1 t = (f(i-1,j-1)+f(i,j))/2;%求三个两两相邻的像素点的像素的平均值t1 = (f(i,j)+f(i+1,j+1))/2;

d = abs(t1-t)

图像分割实验报告

医学图像处理实验报告 实验名称:图像分割设计实验 姓名:gaojunqiang 学号:20105405 班级:生医 1001 指导教师:…… 2013年6月5日

一、实验目的 1、编程实现下列功能:读出存储的黑白灰度图象并显示,用拉普拉斯算子对图象进行边缘检测,显示处理后图象,存储处理后图象。 2、编程实现下列功能:读出存储的黑白灰度图象并显示,用鼠标点击图象上某一点,以灰度相近原则进行区域生长,显示处理后图象,存储处理后图象。 二、实验原理 1、拉普拉斯边缘检测 二维函数f(x,y)的拉普拉斯是一个二阶的微分定义为: ?2f = [?2f / ?x2 ,?2f / ?y2] 一般情况下可以用一个拉普拉斯模板算子。模板算子分为4邻域和8邻域,如下 ?2f = 4z5 – (z2 + z4 + z6 + z8) ?2f = 8z5 – (z1 + z2 + z3 + z4+z5 + z6 + z7+ z8) 2、区域增长 区域增长是通过一个起始点作为种子点对他周围的点进行选择。它采取的是一种迭代的思想。区域增长也分为四邻域和八邻域两种方式。 通过像素的集合进行区域增长的算法如下: 1)根据图像的不同应用选择一个或一组种子,它或者是最亮或最暗的点,或者是位于点簇中心的点。 2)选择一个描述符(条件) 3)从该种子开始向外扩张,首先把种子像素加入集合,然后不断将与集合中各个像素连通、且满足描述符的像素加入集合 4)上一过程进行到不再有满足条件的新结点加入集合为止。 三、实验代码及结果 1、拉普拉斯边缘检测代码如下: %主函数如下: clc; close all; clear all;

实验四 图像分割

西安邮电学院 实验报告 实验名称图像分割 课程名称数字图像处理A 姓名成绩 班级学号 日期2011.6.21 地点3#531 实验四图像分割 1. 实验任务

(1)了解并掌握图像分割的基本原理; (2)编写程序使用Hough 变换处理图像,进行线检测; (3)编写程序使用阈值处理方法进行图像分割,根据实验结果分析效果; (4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。 2. 实验环境及开发工具 Windws2000/XP MATLAB 7.x 3. 实验内容 对256级灰度的数字图像camera.bmp (如图4.1所示)和car.bmp (如图4.2所示)进行如下处理: (1)对图像camera.bmp 进行Hough 变换进行线检测,显示处理前、后图像: 思考如何利用Hough 变换进行圆检测; (2)对图像car.bmp 分别利用不同的阈值处理方法进行图像中汽车及车牌的分割,显示处理前、后图像; 思考不同的阈值处理算法对分割效果的影响? 4.实验分析 在MatLab 中输入各程序代码后运行程序,得到输出结果如图所示 (1)程序运行图(对图像camera.bmp 进行Hough 变换进行线检测): 图4.1 实验图像camera.bmp 图4.2 实验图像 car.bmp

(2)程序运行图(对图像car.bmp 利用不同的阈值处理方法进行图像中汽车及车牌的分割) <1>利用直方图阈值法对图像进行分割 原图 象 边缘检测图像 hough 变换后的图象 θ ρ 50 100 150 200250300350 经典hough 变换提取的图像 原图像 分割图

实验三 图像分割与边缘检测

实验三图像分割与边缘检测 上课老师:赵欢喜实验指导:吴磊 实验地点:科技楼4楼计算机实验中心时间:2010.12.14 一.实验目的 1. 理解图像分割的基本概念; 2. 理解图像边缘提取的基本概念; 3. 掌握进行边缘提取的基本方法; 4. 掌握用阈值法进行图像分割的基本方法。 二.实验基本原理 ●图象边缘检测 图像理解是图像处理的一个重要分支,研究为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。边缘检测实际上就是检测图像特征发生变化的位置。图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置 由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。边缘检测的方法大多数是基于方向导数掩模求卷积的方法。 导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。 一阶导数与是最简单的导数算子,它们分别求出了灰度在x和y方向上的变化率,而方向α上的灰度变化率可以用相应公式进行计算;对于数字图像,应该采用差分运算代替求导。

图像分割综述

摘要 图像分割是把图像划分为有意义的若干区域的图像处理技术,分割技术在辅助医学诊断及运动分析、结构分析等领域都有着重要的研究价值和广泛的应用发展前景。 在阅读大量文献的基础上,本文对图像分割技术的理论基础、发展历程及图像分割方法的热点、难点问题进行了分类综述,对不同分割算法优缺点进行了总结和归纳,并对图像分割的发展趋势进行了初步的展望和预测。在此基础上,为了对图像分割理论有更直观的认识,本文选取并行边界算法和分水岭算法这两种方法,用MATLAB软件进行了基础的仿真,并对结果进行了分析和总结, 本文重点对一些近年来新兴的算法,比如水平集(Level-set)算法、马尔科夫随机场算法(Markov)、模糊算法、遗传算法、数学形态学算法等进行了概略性的探讨,对这些新兴算法的特点、原理、研究动态进行了分析和总结。 关键词:图像分割;边界;区域;水平集;马尔科夫

Abstract Image segmentation is an image processing technology that divides the image into a number of regions. Image segmentation has very important significance in supporting medical diagnosis, motion analysis, structural analysis and other fields. Based on recent research, a survey on the theory and development of image segmentation, hot and difficult issues in image segmentation is given in this article. And describes the characteristics of each method as well as their respective advantages and disadvantages in image segmentation .This article introduces and analyzes some basic imaging and image segmentation methods in theory and describes the development trends of medical image segmentation. To have a better understanding of image segmentation, I use MATLAB software to stimulate on images about the parallel edge algorithms and watershed algorithm. And the analysis of the segmentation results is given in the article. This article introduces and analyzes the new algorithms in recent years such as Level-set algorithm, Markov algorithm, Fuzzy algorithm, Genetic algorithm and Morphological algorithm. In this paper, the features, theory and research trends of these algorithms are analyzed and summarized. Keywords: Image segmentation; Border; Area;Level-set;Markov

相关文档