图像分割实验报告

  • 格式:docx
  • 大小:515.12 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

医学图像处理实验报告

实验名称:图像分割设计实验

姓名: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;

Imag = imread('lena.tiff');

ImagGray = rgb2gray(Imag); %将彩色图片转换成灰度图片

figure()

imshow(ImagGray),title('灰度图像');

% T = graythresh(ImagGray); %用大津法自动确定阈值

% I=edge(ImagGray,'log',0.004);

% figure(),imshow(I), title('laplace边缘图像');

ImagGray = double(ImagGray);

T = 60; %设置阈值

LapModType = 8; %设置laplace模板方式

ImagLapEdge = LaplaceEdge(ImagGray,LapModType,T); %laplace边缘检测

ImagLapEdge = uint8(ImagLapEdge);

figure()

imshow(ImagLapEdge),title('laplace边缘图像');

%拉普拉斯边缘检测函数如下:

function ImagLapEdge = LaplaceEdge(ImagGray,MoldType,Thresh)

%-----------------参数介绍--------------------

%输入参数:

% ImagGray: 输入的灰度图像

% MoldType: 摸板类型,包括四邻域和八邻域

% Thresh: 边缘检测阈值

%输出参数:

% ImagEdge:边缘像素点,存储的是二值化图像

[r,c] = size(ImagGray);

ImagLapEdge = zeros(r,c);

%四邻域拉普拉斯边缘检测算子

if 4 == MoldType

for i = 2:r-1

for j = 2:c-1

Temp =

-4*ImagGray(i,j)+ImagGray(i-1,j)+ImagGray(i+1,j)+ImagGray(i,j-1)+ImagGray(i,j+1); if Temp > Thresh

ImagLapEdge(i,j) = 255;

else

ImagLapEdge(i,j) = 0;

end

end

end

end

%八邻域拉普拉斯边缘检测算子

if 8 == MoldType

for i = 2:r-1

for j = 2:c-1

Temp =

-8*ImagGray(i,j)+ImagGray(i-1,j)+ImagGray(i+1,j)+ImagGray(i,j-1)+ImagGray(i,j+1)+ImagGray(i-1,j-1)+ImagGray(i+1,j+1)+ImagGray(i+1,j-1)+ImagGray(i-1,j+1);

if Temp > Thresh

ImagLapEdge(i,j) = 255;

else

ImagLapEdge(i,j) = 0;

end

end

end

end

拉普拉斯边缘检测实验结果如下:

图1 原灰度图像

图2 拉普拉斯8邻域模板边缘检测图像图3拉普拉斯4邻域模板边缘检测图像

2、区域增长

实验代码:

主函数如下:

clc;

close all;

clear all;

Imag = imread('lena.jpg');

figure()

imshow(Imag), title('原灰度图片');

n = 4; %设置区域增长的种子点数

[x,y] = ginput(n); %在图像上取点

V = [y,x];

V = uint16(V);

thresh = 33; %区域增长的阈值

growingtype = 8; %增长方式

[regionGet,imout,regionsize]=regiongrowing(V,Imag,thresh,growingtype); %区域增长函数figure()

imshow(imout), title('区域分割后的图片');

hold on

plot(x,y,'+');

由于区域增长代码老师已给这里就不在写出。

实验结果: