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

  • 格式:docx
  • 大小:510.84 KB
  • 文档页数:11

下载文档原格式

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

图像处理实验

图像增强和图像分割

、实验目的:

掌握用空间滤波进行图像增强的基本方法,掌握图像分割的基本方法。

实验要求:

1、测试图像1中同时含有均值为零的均匀分布噪声和椒盐噪声。用大小为5X 5的

算术均值滤波器和中值滤波器对图像进行处理,在不同窗口中显示原图像及各处理结果图像,并分析哪一种滤波器去噪效果好?

2、对测试图像2进行图像分割,求出分割测试图像2的最佳阈值。分别显示原图、原图的

直方图(标出阈值)、和分割后的二值图。

实验内容:

1.实验原理

1)图像增强:流程图:

结束

___ ____

图像增强可以通过滤波的方式来完成,即消除一部分的噪声。滤波又可以分为均值滤波和中值滤波。

1.中值滤波原理:中值滤波就是选用一个含有奇数个像素的滑动窗口,将该窗口在图像上扫

描,把其中所含像素点按灰度级的升(或降)序排列,取位于中间的灰度值来代替窗口

中心点的灰度值。

对于二维序列{ F ij }: y .

Med{F j }W 为滤波窗口 W

2.均值滤波原理:对于含噪声的原始图像g(s,t)的每一个像素点去一个领

域N ,用N 中所包含的相速的灰度平均值,作为领域平均处理后的图像

f(x,y)

的像素值,即: 2)图像分割:

图像分割:依据图像的灰度、颜色等特征,将一幅图像分为若干个互不重叠的、具有某 种同质特征的区域。

本实验中我们是根据灰度值,将灰度值大于阈值 T 的像素统一置为255,小于的则置为 对于一维序列{ f ”}:

% Med{ f i f u

}i N,u ?(x, y)

丄 mn (s,t) g(s,t)

0。如何求出最合适的分割阈值,贝嚅要用到迭代算法。

迭代法算法步骤:

(1) 初始化阈值T (一般为原图像所有像素平均值)。

(2) 用T分割图像成两个集合:G i和G2,其中G i包含所有灰度值小于T的像素,G2 包含所有灰度值大于T的像素。

⑶计算G i中像素的平均值m i及G2中像素的平均值m2。

⑷计算新的阈值:T = ( m i + m2)/2。

(5) 如果新阈值跟原阈值之间的差值小于一个预先设定的范围,停止循环,否则继续

(2)-( 4)步。

2.程序代码与分析:

i)图像增强:

clear all;clc;

%读入图像

I仁imread('Fig5.i2(b).jpg');

%均值滤波模板

h1=o nes(5,'ui nt8');

%获取分辨率

[a,b]=size(l1);

%创建变量

I2=zeros(a+4,b+4,'ui nt8');

I3=zeros(a+4,b+4,'ui nt8');

%复制原始图像

for n=3:a+2

for m=3:b+2

I2( n,m)=I1( n-2,m-2);

I3( n,m)=l1( n-2,m-2);

end

end

%边界值设定

for n=1:a+4

for m=1:b+4

%左上角设定

if *3&&m<3

12( n,m)=l2(6-n, 6-m);

I3( n,m)=l3(6-n,6-m);

%右下角设定

else if n>a+2&&m>b+2

I2( n,m)=I2(2*a+4-n,2*b+4-m); I3( n,m)=I3(2*a+4-n,2*b+4-m); %右上角设定

else if *3&&m>b+2

I2( n,m)=I2(6-n,2*b+4-m);

I3( n,m)=I3(6-n,2*b+4-m);

%左下角设定

else if m<3&&n >a+2

I2( n,m)=I2(2*a+4-n, 6-m);

I3( n,m)=I3(2*a+4-n, 6-m);

%上两行设定

else if n<3

I2( n,m)=I2(6-n,m);

I3( n, m)=l3(6-n, m);

%下两行设定

else if n> a+2

I2( n,m)=I2(2*a+4-n,m);

I3( n,m)=I3(2*a+4-n,m);

%左两列设定

else if m<3

I2( n,m )=12( n,6-m);

13( n,m )=13( n,6-m);

%右两列设定

else if m>b+2

12( n,m)=l2( n,2*b+4-m);

I3( n,m )=13( n,2*b+4-m);

end

end

end

end

end

end

end

end

end

end

%图像处理

for n=3:a+2

for m=3:b+2

%均值滤波

temp0=l2( n-2: n+2,m-2:m+2); temp0=temp0.*h1;

temp1=mea n(temp0(:));

temp仁uin t8(floor(temp1));

I2( n,m)=temp1;

%中值滤波

temp2=I3( n-2: n+2,m-2:m+2); temp3=media n( double(temp2(:))); temp3=ui nt8(floor(temp3));

I3( n,m )=temp3;

end

end %保持分辨率