当前位置:文档之家› 实验六-图像分割教学文稿

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

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

实验六-图像分割

信息工程学院实验报告

课程名称:数字图像处理

实验项目名称:实验六图像分割实验时间: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.边缘检测

(1)使用Roberts 算子的图像分割实验

实验结果:

g45g135

(1)欧几里得距离计算梯度模(1)欧几里得距离计算梯度模二值化

(2)街区距离计算梯度模(2)街区距离计算梯度模二值化

图4. Roberts 算子的图像分割

实验结果分析:

Roberts 算子利用局部差分算子寻找边缘,边缘定位精度比较高,但容易丢失一部分边缘,同时由于图像没经过平滑处理,因此不具备抑制噪声能力。该算子对具有陡峭边缘且噪声少的图像效果较好。

(2)使用Prewitt 算子的图像分割实验

实验结果:

g45g135

(1)欧几里得距离计算梯度模(1)欧几里得距离计算梯度模二值化

(2)街区距离计算梯度模(2)街区距离计算梯度模二值化

图5 .Prewitt 算子的图像分割

实验结果分析:

Prewitt 算子先对图像做加权平滑处理,然后再做微分运算,所不同的是平滑部分的权值有些差异,因此它们对噪声有一定的抑制能力。

(3)使用Sobel 算子的图像分割实验

实验结果:

g45g135

(1)欧几里得距离计算梯度模(1)欧几里得距离计算梯度模二值化

(1)欧几里得距离计算梯度模(1)欧几里得距离计算梯度模二值化

(2)街区距离计算梯度模(2)街区距离计算梯度模二值化

图6. Sobel 算子的图像分割

实验结果分析:

Sobel 算子和Prewitt 算子一样,都是先对图像做加权平滑处理,然后再做微分运算,因此它们对噪声有一定的抑制能力。比较实验结果可以发现,Sobel 算子比Prewitt 算子在噪声抑制方面略胜一筹,但不能排除检测结果中出现的虚假边缘。虽然这两个算子边缘定位效果不错,但检测出的边缘容易出现多像素的宽度。

(4)使用LoG (拉普拉斯-高斯)算子的图像分割实验

实验结果:

gv gb g45

图7. LoG (拉普拉斯-高斯)算子的图像分割

实验结果分析:

拉普拉斯算子,它是无方向的二阶微分算子,对图像中的阶跃型边缘定位准确,该算子对噪声非常敏感,它使噪声成分得到加强。这两个特性使得该算子容易丢失一部分边缘的方向信息,造成一些不连续的检测边缘。

LoG算子,该算子克服了拉普拉斯算子抗噪声性能比较差的缺点,但是在抑制噪声的同时也可能将原有的比较尖锐的边缘平滑掉了。

(5) 打印全部结果并进行讨论。

使用sobel、prewitt和roberts算子对图像进行分割实验。

sobel(gv)sobel(gb)sobel(g45)

prewitt(gv)prewitt(gb)prewitt(g45)

roberts(gv)roberts(gb)roberts(g45)

图8. 全部结果

四、实验中遇到问题及解决方法

1. 评价一下Roberts 算子、Prewitt 算子、Sobel 算子对于噪声条件下边界检测的性能。

答:Roberts算子采用对角线方向相邻两像素之差近似梯度幅值检测边缘。检测水平和垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感。

Sobel算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高。当对精度要求不是很高时,是一种较为常用的边缘检测方法。

Prewitt算子利用像素点上下、左右邻点灰度差,在边缘处达到极值检测边缘。对噪声具有平滑作用,定位精度不够高。

2.实验中所使用的四种算子所得到的边界有什么异同?

答:算子的存在就是对这种导数分割原理进行的实例化计算,是为了在计算过程中直接使用的一种计算单位。

Roberts算子:边缘定位准,但是对噪声敏感。适用于边缘明显且噪声较少的图像分割。Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果

边缘不是很平滑。经分析,由于Robert算子通常会在图像边缘附近的区域内产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。

Prewitt算子:对噪声有抑制作用,抑制噪声的原理是通过像素平均,但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。

Sobel算子:Sobel算子和Prewitt算子都是加权平均,但是Sobel算子认为,邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越远,产生的影响越小。

Isotropic Sobel算子:加权平均算子,权值反比于邻点与中心点的距离,当沿不同方向检测边缘时梯度幅度一致,就是通常所说的各向同性。

Laplacian算子:这是二阶微分算子。其具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。但是,其对噪声比较敏感,所以,图像一般先经过平滑处理,因为平滑处理也是用模板进行的,所以,通常的分割算法都是把Laplacian算子和平滑算子结合起来生成一个新的模板。

Laplacian算子一般不以其原始形式用于边缘检测,因为其作为一个二阶导数,Laplacian 算子对噪声具有无法接受的敏感性;同时其幅值产生算边缘,这是复杂的分割不希望有的结果;最后Laplacian算子不能检测边缘的方向;所以Laplacian在分割中所起的作用包括:(1)利用它的零交叉性质进行边缘定位;(2)确定一个像素是在一条边缘暗的一面还是亮的一面;一般使用的是高斯型拉普拉斯算子(Laplacian of a Gaussian,LoG),由于二阶导数是线性运算,利用LoG卷积一幅图像与首先使用高斯型平滑函数卷积改图像,然后计算所得结果的拉普拉斯是一样的。所以在LoG公式中使用高斯函数的目的就是对图像进行平滑处理,使用Laplacian算子的目的是提供一幅用零交叉确定边缘位置的图像;图像的平滑处理减少了噪声的影响并且它的主要作用还是抵消由Laplacian算子的二阶导数引起的逐渐增加的噪声影响。

五、实验心得体会

通过这个实验,我熟练学会了利用MatLab 软件进行图像的分割。在通过实验体会到了一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响。在评价各主要算子在无噪声条件下和噪声条件下的分割性能下,掌握分割条件(阈值等)的选择。完成规定图像的处理并评价处理结果。

六、源程序清单

%%

%1.使用Roberts 算子的图像分割实验

I=imread('room.tif');

rh=[-1 0; 0 1];

rv=[0 -1; 1 0];

g45=imfilter(double(I),rh,'replicate');

g135=imfilter(double(I),rv,'replicate');

subplot(3,2,1);

imshow(g45,[]);

title('g45');

subplot(322);

imshow(g135,[]);

title('g135');

%计算梯度模

%(1)欧几里得距离计算梯度模

OD=sqrt(g45.^2+g135.^2);

subplot(323);

imshow(OD,[]);

title('(1)欧几里得距离计算梯度模');

T=0.1*max(OD(:)); BWOD=OD>T;

subplot(324);

imshow(BWOD);

title('(1)欧几里得距离计算梯度模二值化');

%(2)街区距离计算梯度摸

JD=abs(g45)+abs(g135);

subplot(325);

imshow(JD,[]);

title('(2)街区距离计算梯度模');

T=0.1*max(JD(:));

BWOD=OD>T;

subplot(326);

imshow(BWOD);

title('(2)街区距离计算梯度模二值化');

%%

%2.使用Prewitt 算子的图像分割实验

I=imread('room.tif');

rh=[-1 -1 -1;0 0 0;1 1 1];

rv=[-1 0 1 ;-1 0 1;-1 0 1];

g45=imfilter(double(I),rh,'replicate');

g135=imfilter(double(I),rv,'replicate');

subplot(3,2,1);

imshow(g45,[]);

title('g45');

subplot(322);

imshow(g135,[]);

title('g135');

%计算梯度模

%(1)欧几里得距离计算梯度模

OD=sqrt(g45.^2+g135.^2);

subplot(323);

imshow(OD,[]);

title('(1)欧几里得距离计算梯度模');

T=0.1*max(OD(:)); BWOD=OD>T;

subplot(324);

imshow(BWOD);

title('(1)欧几里得距离计算梯度模二值化');

%(2)街区距离计算梯度模

JD=abs(g45)+abs(g135);

subplot(325);

imshow(JD,[]);

title('(2)街区距离计算梯度模');

T=0.1*max(JD(:));

BWOD=OD>T;

subplot(326);

imshow(BWOD);

title('(2)街区距离计算梯度模二值化');

%%

%3.使用Sobel 算子的图像分割实验

I=imread('room.tif');

rh=[-1 -2 -1;0 0 0;1 2 1];

rv=[-1 0 1 ;-2 0 2;-1 0 1];

g45=imfilter(double(I),rh,'replicate');

g135=imfilter(double(I),rv,'replicate');

subplot(3,2,1);

imshow(g45,[]);

title('g45');

subplot(322);

imshow(g135,[]);

title('g135');

%计算梯度模

%(1)欧几里得距离计算梯度模

OD=sqrt(g45.^2+g135.^2);

subplot(323);

imshow(OD,[]);

title('(1)欧几里得距离计算梯度模');

T=0.1*max(OD(:)); BWOD=OD>T;

subplot(324);

imshow(BWOD);

title('(1)欧几里得距离计算梯度模二值化');

%(2)街区距离计算梯度摸

JD=abs(g45)+abs(g135);

subplot(325);

imshow(JD,[]);

title('(2)街区距离计算梯度模');

T=0.1*max(JD(:));

BWOD=OD>T;

subplot(326);

imshow(BWOD);

title('(2)街区距离计算梯度模二值化');

%%

%4.使用LoG (拉普拉斯-高斯)算子的图像分割实验

f=imread('room.tif');

[gv,t1]=edge(f,'log','vertical');%使用edge函数对图像f提取垂直边缘

subplot(1,3,1);imshow(gv);title('gv');

[gb,t2]=edge(f,'log','horizontal');%使用edge函数对图像f提取水平边缘subplot(1,3,2);imshow(gb);title('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; %进行阈值处理

subplot(1,3,3);imshow(g45);title('g45');

%%

%5打印全部结果并进行讨论。

%使用sobel、prewitt和roberts算子对图像进行分割实验。

f=imread('room.tif');

[gv,t1]=edge(f,'sobel','vertical');%使用edge函数对图像f提取垂直边缘subplot(1,3,1);imshow(gv);title('sobel(gv)');

[gb,t2]=edge(f,'sobel','horizontal');%使用edge函数对图像f提取水平边缘subplot(1,3,2);imshow(gb);title('sobel(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; %进行阈值处理

subplot(1,3,3);imshow(g45);title('sobel(g45)');

%%

%使用prewitt算子对图像进行分割实验。

f=imread('room.tif');

[gv2,t3]=edge(f,'prewitt','vertical');%使用edge函数对图像f提取垂直边缘subplot(1,3,1);imshow(gv2);title('prewitt(gv)');

[gb2,t4]=edge(f,'prewitt','horizontal');%使用edge函数对图像f提取水平边缘subplot(1,3,2);imshow(gb2);title('prewitt(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; %进行阈值处理

subplot(1,3,3);imshow(g45);title('prewitt(g45)');

%%

%使用roberts算子对图像进行分割实验。

f=imread('room.tif');

[gv3,t5]=edge(f,'roberts','vertical');%使用edge函数对图像f提取垂直边缘subplot(1,3,1);imshow(gv3);title('roberts(gv)');

[gb3,t6]=edge(f,'roberts','horizontal');%使用edge函数对图像f提取水平边缘subplot(1,3,2);imshow(gb3);title('roberts(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; %进行阈值处理

subplot(1,3,3);imshow(g45);title('roberts(g45)');

%%

%图像像素值的标定

I=imread('room.tif');

rh=[-1 0; 0 1];

rv=[0 -1; 1 0];

g45=imfilter(double(I),rh,'replicate');

subplot(121);

imshow(g45);

title('未标定');

cg45=(g45-min(g45(:)))/(max(g45(:))-min(g45(:)));

subplot(122);

imshow(cg45);

title('已标定');

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

实验六-图像分割

信息工程学院实验报告 课程名称:数字图像处理 实验项目名称:实验六图像分割实验时间: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边缘检测器的过程。

关于图像分割算法的研究

关于图像分割算法的研究 黄斌 (福州大学物理与信息工程学院 福州 350001) 摘要:图像分割是图像处理中的一个重要问题,也是一个经典难题。因此对于图像分割的研究在过去的四十多年里一直受到人们广泛的重视,也提山了数以千计的不同算法。虽然这些算法大都在不同程度上取得了一定的成功,但是图像分割问题还远远没有解决。本文从图像分割的定义、应用等研究背景入手,深入介绍了目前各种经典的图像分割算法,并在此基础比较了各种算法的优缺点,总结了当前图像分割技术中所面临的挑战,最后展望了其未来值得努力的研究方向。 关键词:图像分割 阀值分割 边缘分割 区域分割 一、 引言 图像分割是图像从处理到分析的转变关键,也是一种基本的计算机视觉技术。通过图像的分割、目标的分离、特征的提取和参数的测量将原始图像转化为更抽象更紧凑的形式,使得更高层的分析和理解成为可能,因此它被称为连接低级视觉和高级视觉的桥梁和纽带。所谓图像分割就是要将图像表示为物理上有意义的连通区域的集合,也就是根据目标与背景的先验知识,对图像中的目标、背景进行标记、定位,然后将目标从背景或其它伪目标中分离出来[1]。 图像分割可以形式化定义如下[2]:令有序集合表示图像区域(像素点集),H 表示为具有相同性质的谓词,图像分割是把I 分割成为n 个区域记为Ri ,i=1,2,…,n ,满足: (1) 1,,,,n i i j i R I R R i j i j ===??≠ (2) (),1,2,,i i i n H R True ?== (3) () ,,,i j i j i j H R R False ?≠= 条件(1)表明分割区域要覆盖整个图像且各区域互不重叠,条件(2)表明每个区域都具有相同性质,条件(3)表明相邻的两个区域性质相异不能合并成一个区域。 自上世纪70年代起,图像分割一直受到人们的高度重视,其应用领域非常广泛,几乎出现在有关图像处理的所有领域,并涉及各种类型的图像。主要表现在: 1)医学影像分析:通过图像分割将医学图像中的不同组织分成不同的区域,以便更好的

实验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) 使用拉普拉斯算子进行图像分割实验。 2、灰度阀值分割 (1)单阈值分割图像 先将一幅彩色图像转换为灰度图像,显示其直方图,参考直方图中灰度的分布,尝试确定阈值;应反复调节阈值的大小,直至二值化的效果最为满意为止。 给图像加上零均值的高斯噪声(imnoise)重复上述过程,注意阈值的选择。

(2)多阈值分割图像 观察下列图像,对图1进行多阈值分割,使其分割结果如图2所示。注意阈值的选择。 图1 图2 三、实验步骤 1、打开计算机,启动MATLAB程序; 2、调入数字图像,并进行图像分割处理; 3、记录和整理实验报告。 四、实验仪器 1、计算机; 2、MATLAB等程序; 五、实验报告内容 1、叙述实验过程; 2、提交实验的原始图像和结果图像。 六、思考题 1 、评价Roberts 算子、Prewitt 算子、Sobel 算子对于噪声条件下边界检测的性能。 2、实验中所使用的四种算子所得到的边界有什么异同? I=imread('blood1.BMP');

图像分割算法研究与实现

中北大学 课程设计说明书 学生姓名:梁一才学号:10050644X30 学院:信息商务学院 专业:电子信息工程 题目:信息处理综合实践: 图像分割算法研究与实现 指导教师:陈平职称: 副教授 2013 年 12 月 15 日

中北大学 课程设计任务书 13/14 学年第一学期 学院:信息商务学院 专业:电子信息工程 学生姓名:焦晶晶学号:10050644X07 学生姓名:郑晓峰学号:10050644X22 学生姓名:梁一才学号:10050644X30 课程设计题目:信息处理综合实践: 图像分割算法研究与实现 起迄日期:2013年12月16日~2013年12月27日课程设计地点:电子信息科学与技术专业实验室指导教师:陈平 系主任:王浩全 下达任务书日期: 2013 年12月15 日

课程设计任务书 1.设计目的: 1、通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力; 2、掌握Matlab使用方法,能熟练运用该软件设计并完成相应的信息处理; 3、通过图像处理实践的课程设计,掌握设计图像处理软件系统的思维方法和基本开发过程。 2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等): (1)编程实现分水岭算法的图像分割; (2)编程实现区域分裂合并法; (3)对比分析两种分割算法的分割效果; (4)要求每位学生进行查阅相关资料,并写出自己的报告。注意每个学生的报告要有所侧重,写出自己所做的内容。 3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕: 每个同学独立完成自己的任务,每人写一份设计报告,在课程设计论文中写明自己设计的部分,给出设计结果。

实验三 图像分割

实验三图像分割 一、实验目的 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纸),附在试验报告之后。

图像分割 实验报告

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

050100150200250 图1 原图 3 阈值分割后的二值图像分析:手动阈值分割的阈值是取直方图中双峰的谷底的灰度值作为阈值,若有多个双峰谷底,则取第一个作为阈值。本题的阈值取

%例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.输出迭代结果。

北航数字图象处理实验报告

数字图像处理实验报告 实验二图像变换实验 1.实验目的 学会对图像进行傅立叶等变换,在频谱上对图像进行分析,增进对图像频域上的感性认识,并用图像变换进行压缩。 2.实验内容 对Lena或cameraman图像进行傅立叶、离散余弦、哈达玛变换。在频域,对比他们的变换后系数矩阵的频谱情况,进一步,通过逆变换观察不同变换下的图像重建质量情况。 3. 实验要求 实验采用获取的图像,为灰度图像,该图像每象素由8比特表示。具体要求如下: (1)输入图像采用实验1所获取的图像(Lena、Cameraman); (2)对图像进行傅立叶变换、获得变换后的系数矩阵; (3)将傅立叶变换后系数矩阵的频谱用图像输出,观察频谱; (4)通过设定门限,将系数矩阵中95%的(小值)系数置为0,对图像进行反变换,获得逆变换后图像; (5)观察逆变换后图像质量,并比较原始图像与逆变后的峰值信噪比(PSNR)。 (6)对输入图像进行离散余弦、哈达玛变换,重复步骤1-5; (7)比较三种变换的频谱情况、以及逆变换后图像的质量(PSNR)。 4. 实验结果 1. DFT的源程序及结果 J=imread('10021033.bmp'); P=fft2(J); for i=0:size(P,1)-1 for j=1:size(P,2) G(i*size(P,2)+j)=P(i+1,j); end end Q=sort(G); for i=1:size(Q,2) if (i=size(Q,2)*0.95) t=Q(i); end end G(abs(G)

完整word版数字图像处理实验报告6

数字图像处理与分析 实 验 报 告 学院: 班级: 姓名: 学号:

实验六细胞图像的分割与测量 一、实验目的 1. 通过分析细胞图像特点,完成细胞图像的分割和测量,并分析测量结果。 2. 将图像预处理、分割、分析等关键技术结合起来,理论与实践相结合,提高图像处理关键技术的综合应用能力。 二、实验要求 1. 对比中值、均值和形态学开闭运算对细胞图像的滤波效果,选择适用于细胞图像的滤波方法 2. 运用大津阈值对细胞图像分割,观察分割后噪声情况,观察目标边缘处的分割效果;(使用函数:im2bw) 3. 实现连通区域的编号;(使用函数:bwlabel) 4. 计算各连通区域的相关信息,如面积、重心等。(使用函数:regionprops ) 三、实验步骤 预处理去噪大津阈值分割目标编号标记测量各个细胞的面积等参数输出测量结果 、预处理去噪1 ); x=imread( \CHEN2-7.BMP'桌面Settings\Administrator\'C:\Documents and y=medfilt2(rgb2gray(h)); subplot(2,2,1) imshow(x) ); title(''原图像subplot(2,2,2) imshow(y) ); title('中值滤波处理' I=fspecial() 'average'z=imfilter(rgb2gray(x),I); subplot(2,3,4) imshow(z) title(); ''均值滤波处理se = strel(,5,5); 'ball'm = imopen(rgb2gray(x),se); subplot(2,3,5) imshow(m) title(); '形态学开运算处理'se = strel(,5,5); 'ball'n = imclose(rgb2gray(x),se);

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

实验四图像分割与边缘检测 一.实验目的及要求 1.利用MATLAB研究图像分割与边缘检测的常用算法原理; 2.掌握MATLAB图像域值分割与边缘检测函数的使用方法; 3.了解边缘检测的算法和用途,比较Sobel、Prewitt、Canny等算子边缘检测的差异。 二、实验内容 (一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。 1.图像阈值分割 clear all, close all; I = imread('cameraman.tif'); figure (1),imshow(I) figure(2); imhist(I) T=120/255; Ibw1 = im2bw(I,T); figure(3); subplot(1,2,1), imshow(Ibw1); T=graythresh(I); L = uint8(T*255) Ibw2 = im2bw(I,T); subplot(1,2,2), imshow(Ibw2); help im2bw; help graythresh; clear all, close all; I = imread('cameraman.tif'); figure (1),imshow(I) figure(2); imhist(I)

T=240/255; Ibw1 = im2bw(I,T); figure(3); subplot(1,2,1), imshow(Ibw1); T=graythresh(I); L = uint8(T*255) Ibw2 = im2bw(I,T); subplot(1,2,2), imshow(Ibw2); help im2bw; help graythresh; clear all, close all; I = imread('cameraman.tif'); figure (1),imshow(I) figure(2); imhist(I) T=120/255; Ibw1 = im2bw(I,T); figure(3); subplot(1,2,1), imshow(Ibw1); T=graythresh(I); L = uint8(T*255) Ibw2 = im2bw(I,T); subplot(1,2,2), imshow(Ibw2); help im2bw; help graythresh; 2.边缘检测 clear all, close all;

图像分割实验报告汇总

图像分割实验报告 一、实验目的 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动态阈值图像分割算法。 三、实验框图

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

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

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

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

几种图像分割算法在CT图像分割上的实现和比较

第20卷第6期2000年12月北京理工大学学报JOurnaI Of Beijing InStitute Of TechnOIOgy VOI.20NO.6Dec.2000 文章编号21001-0645(2000)06-0720-05几种图像分割算法在CT 图像分割上的 实现和比较 杨 加19吴祈耀19田捷29杨骅2(1-北京理工大学电子工程系9北京1000 1;2-中国科学院自动化研究所9北京1000 0)摘要2对目前几种在图像分割领域得到较多应用的交互式分割 区域生长分割以及阈值 分割算法进行了探讨9并且结合实际CT 片图例分别进行分割实验研究9得到较为满意和 可用性强的结果.实验表明2阈值分割对于CT 切片的效果最好;区域生长分割适宜于对面 积不大的区域进行分割9分割效果较好;基于动态规划的交互式分割算法比较复杂9计算时 间较长9但对于边缘较平滑的区域9同样具有较好的实际效果.几种算法的评估为其在CT 图像分割上的实际应用提供了科学依据. 关键词2图像分割算法;CT 图像分割;交互式分割;阈值分割;区域生长分割 中图分类号2TN 911-73文献标识码2A 收稿日期220000625 基金项目2国家自然科学基金资助项目(69 43001);国家 63 计划项目作者简介2杨加9男91975年生9硕士生. 图像分割可以分解为两个任务9即识别(recOgnitiOn )和描绘(deIineatiOn ).识别的目的在于确定目标物体的大致位置并区别于图像中的其它物体;而描绘的任务在于精确定义和刻画图像中目标物体的区域或边缘的空间范围.人的识别能力通常强于计算机算法9另一方面9计算机算法的描绘能力则优于操作者(人).因此既能利用操作者强大的识别能力9又能利用计算机算法的描绘能力的交互式图像分割则越来越受到人们的关注.在医学领域中9图像分割是病变区域提取 特定组织测量以及实现三维重建的基础9因此图像分割技术在医学图像处理中具有十分重要的意义[1].作者探讨了3种目前在图像分割上得到较多实际应用的分割算法9并结合实际CT 片图例进行了实验研究9得到较为满意和可用性强的结果;最后对这几种方法进行了评估9为这些算法在CT 图像分割上的实际应用提供了科学依据. 1 交互式分割算法1-1基本理论及算法描述 动态规划方法最早应用于图像边缘跟踪[2].可以将图像边缘检测看作一个优化问题[3]9并将其表述为找出一目标函数V =V (I 19I 29I 39~9I H )的最优值M (如取最小值min )9得V 取最优值时的一组自变量值(I 19I 29I 39I 49~9I H 9).若变量离散9目标函数没有特定规律可循时9则该问题将包括一个极大的解空间.如果这个目标函数能够描述成如下形式2 V =V (I 19I 29I 39~9I N )=V 0(I 09I 1)+V 1(I 19I 2)+~+V H-1(I H-19I H )

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

数字图像处理实验报告——图像分割实验课程名称数字图像处理导论专业班级 _______________ 姓名 _______________ 学号 _______________ 电气与信息学院 和谐勤奋求是创新 实验题目图像分割实验 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('用拉普拉斯高斯算子') 1

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

基于图的快速图像分割算法

Efficient graph-based image segmentation 2.相关工作 G=(V ,E),每个节点V i v 对应图像中一个像素点,E 是连接相邻节点的边,每个边有对应有一个权重,这个权重与像素点的特性相关。 最后,我们将提出一类基于图的查找最小割的分割方法。这个最小割准则是最小化那些被分开像素之间的相似度。【18】原文中叫Component,实质上是一个MST,单独的一个像素点也可以看成一个区域。 预备知识: 图是由顶点集(vertices )和边集(edges )组成,表示为,顶点,在本文中即为单个的像素点,连接一对顶点的边具有权重,本文中的意义为顶点之间的不相似度,所用的是无向图。 树:特殊的图,图中任意两个顶点,都有路径相连接,但是没有回路。如上图中加粗的边所连接而成的图。如果看成一团乱连的珠子,只保留树中的珠子和连线,那么随便选个珠子,都能把这棵树中所有的珠子都提起来。如果,i 和h 这条边也保留下来,那么h,I,c,f,g 就构成了一个回路。 最小生成树(MST, minimum spanning tree ):特殊的树,给定需要连接的顶点,选择边权之和最小的树。上图即是一棵MST 。 本文中,初始化时每一个像素点都是一个顶点,然后逐渐合并得到一个区域,确切地说是连接这个区域中的像素点的一个MST 。如图,棕色圆圈为顶点,线段为边,合并棕色顶点所生成的MST ,对应的就是一个分割区域。分割后的结果其实就是森林。 边的权值: 对于孤立的两个像素点,所不同的是颜色,自然就用颜色的距离来衡量两点 的相似性,本文中是使用RGB 的距离,即

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

电子科技大学 实 验 报 告 学生姓名: 学号: 指导教师:彭真明 日期: 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)理论 一、边缘检测的基本方法: 各种差分算子,主要有: 差分边缘检测方法 Roberts梯度模算子 前两种对垂直,水平,对角检测好。 Prewitt算子,Robinson算子(算八个方向的梯度最大值) Sobel算子(利用上下左右加权,可平滑噪声); Kirsch算子 Rosenfeld算子 Laplace算子(二阶导数算子,一般不用于检测,用于之后判别暗区与明区。) LOG算子,(高斯平滑后求导提取边界。) 主要思路用高斯函数对图像平滑滤波,然后再对图像进行拉普拉斯运算,算得的值等于零的点认为是边界点。 该算法高斯函数方差取值很重要,过大会导至精度不高。还容易产生虚假边界。但可以用一些准备去除虚假边界。对于灰度渐变图的效果也不太好。但大部份图片边缘提取效果还好。Canny边界检测算子 二、拟合曲面求导提取边界。 主要思路为在点的邻域各点拟合一个曲面,由曲面的求导代替离散点求差分,这种方法对于噪声比较不敏感。 三、统计判决法提取边界 以误判概率最小化设置门限,对边界检测算子作用后的每个像点判别/。统计判决法依赖于先验知识。 四、分裂—合并算法 按一定的均一化标准,将图片分成子图。合并满足均一性准则的子图。

五、跟踪技术 1)区域跟踪,基于区域的图像分割方法。 应用于直接提取区域。检测满足跟踪准则的点,找到这样的点,检测其所有邻点,把满足跟踪准则的任合邻点合并再重复。直到没有邻点满足检测准则。 2)曲线跟踪,基于边界的图像分割方法。 对整幅图扫描,对所有“现在点”的邻点检测,周围没有满足跟踪条件的点时,返回到上一个最近的分支处,取出另一个满足跟踪原则的现在点。重复根踪。 六、模型化与统计检验法检测边界 开始步骤为对图像划分成多块子图,每块子图进行曲面拟合。并应用误差的分析,构造F 统计量,判断此区域是否有边界的存在。 七、匹配检测技术 基于区域的一种分割方法。 1)归一化互相关测度匹配 类似于求相关系数。但是这种方法实用时不太理想,因为匹配模板的尺寸跟图上的尺寸差异,造成操作很难。 2)匹配滤波器 基于最大信噪比准则。 用一个滤波器对图像子图作卷积,当滤波器为子图旋转180度后的K倍时,功能与相关系数一样。此时称为匹配滤波器。 3)线检测 用匹配滤波器可以设计一些线检测器。对直线检测效果好。 八、利用模式识别某些技术进行图像分割 对每个像素提取特征,提取一个n维特征,如果特效果好,那么在特征空间里,像素点会表现出类聚。一般来说,特征是区域性的,一般是征对邻域或图像的各个子图提取特征。通常特征包含,灰度,空间关系(梯度,像素小块邻域平均灰度,纹理参数,颜色)等。 九、基于活动轮廓模型的边界提取算法 不同于经典的基于求导自下而上过程,而是一种基于总体和局部的自上而下和自下而上的处理过程。借助一些物理概念构造一个描述轮廓状态指标,将图像灰度分布,灰度梯度及轮廓形状约束等信息作为“外能”和“内能”构造活运轮廓的能量函数。将一个初始轮廓放在感兴趣的图像区域中,轮廓在外力和内力作用下变形,外力推动活动轮廓向着物体的边缘运动,而内力要使活动轮廓趋于光滑和保持其拓朴性。在达到平衡时,对应的能量最小,此时的活动轮廓即为要检测的边界。 十、基于视觉特性的边界提取方法 ——线性加权函数(LWF)在边界检测中的应用 视觉系统对亮度对比度的感知可以转化为数学中的微分算子的特征值问题,视觉的感觉响应类似于高斯函数与其拉普拉斯变换之和。基于生理学和数学导出的线性加权函数(LWF)是高斯函数与它的二阶导数的线性组合. 视觉处理过程是图像与一系列不同方差的高斯函数及其二阶导数的卷积过程。

图像分割---人工智能大作业

计算机科学与技术学院《高级人工智能》课程设计 学号:S314060094 专业:计算机科学与技术 学生姓名:魏嫚 任课教师:刘杰教授 2014年12月

1. 问题描述 图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。其中比较典型的方法是基于阈值的分割方法,在实际的应用中,阈值分割的方法也往往能取得好的分割效果,很大程度上影响着后续的图像处理和图像分析的效果,图像阈值分割是指能够找到一个能把图像分割为目标和背景的最优阈值。 图像阈值分割方法一般根据不同理论将问题转化,根据不同的理论,阈值分割一般先构造一个评价函数,然后求解关于这个函数的最优化问题,因此许多利用群体智慧的算法也被应用到了阈值分割中,例如蚁群算法,神经网络算法,遗传算法,在此我将遗传算法应用到了图像的阈值分割中。 2. 问题表示与算法描述 在算法中根据遗传算法的原理结合图像的特征,将图像中的每一个像素看作一条染色体,并对每一条染色体进行编码,然后通过交叉变异的方法找到最优解。遗传算法主要包括四个部分: 1.编码和种群的初始化,一般采用二进制的方法进行编码,种群的初始化 即是指产生一组可行解X,X是n*m大小的矩阵,n是种群的大小,m 是染色体的长度,X的每一个行向量代表一个染色体; 2.定义适值函数,选择个体。由适值函数可以计算出每个染色体(即可行解) 的适值,按一定的选择机制f对新种群中的染色体进行选择,得到进化 后的种群X′=f(X); 3.交叉变异运算,交叉运算在种群体中按照交叉率选择出父体,这些父体 两个一组,在每组染色体中随机选择一个或多个点进行基因交换,变异 运算在种群中按变异率选出染色体,在每个选出的染色体中随机选择一 个或多个点,并改变该点的基因,种群X′经过交叉变异运算得到一个 新种群X′′,X′′为n*m矩阵; 4.终止条件.将X′′的值赋给X,重复进行交叉变异运算和定义适值函数 并选择个体,直到满足一定的终止条件。 图像中的每个像素可以看作是一个染色体,对像素的灰度值进行编码后可得到染色体的基因序列。染色体应该向着适值最大的方向进化,即在进化过程中越来越适应环境,会产生一个最优的阈值,但最优阈值事先无法确定,所以染色体进化的方向也无法确定,即遗传算法无法进行。所以首先设置一个初始阈值,让个体向着这个阈值代表的方向进化,然后根据选择机制选择出来的新群体更新阈值。群体代表了图像的灰度值特征,阈值更新后应将群体复原。随着阈值的不断更新,群体的进化最后趋于稳定。当群体每次进化得到的阈值趋于稳定时,则说明该阈值是最优的阈值。下面对每一阶段做详细的介绍。 编码和种群的初始化 在文中是对灰度图像进行处理,灰度值的取值范围为0~255,故用二进制表示,染色体的长度L应该为8,染色体的值可用一个向量表示,如若一点的灰度值为255,则染色体的向量可以表示为x=[1 1 1 1 1 1 1 1]。在进行算法计算之前,先生成初始种群,随机生成种群,种群大小为n。在最开始时生成初始种群,随机生成n个染色体。 X={x(i)=round(rand(1,L))}

实验六 图像分割

信息工程学院实验报告 课程名称:数字图像处理 实验项目名称:实验六 图像分割 实验时间: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);

相关主题
文本预览
相关文档 最新文档