图像处理实验图像增强和图像分割剖析.docx

上传人:b****7 文档编号:25406670 上传时间:2023-06-08 格式:DOCX 页数:12 大小:1.04MB
下载 相关 举报
图像处理实验图像增强和图像分割剖析.docx_第1页
第1页 / 共12页
图像处理实验图像增强和图像分割剖析.docx_第2页
第2页 / 共12页
图像处理实验图像增强和图像分割剖析.docx_第3页
第3页 / 共12页
图像处理实验图像增强和图像分割剖析.docx_第4页
第4页 / 共12页
图像处理实验图像增强和图像分割剖析.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

图像处理实验图像增强和图像分割剖析.docx

《图像处理实验图像增强和图像分割剖析.docx》由会员分享,可在线阅读,更多相关《图像处理实验图像增强和图像分割剖析.docx(12页珍藏版)》请在冰豆网上搜索。

图像处理实验图像增强和图像分割剖析.docx

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

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

图像处理实验

图像增强和图像分割

一、实验目的:

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

二、实验要求:

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

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

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

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

实验内容:

1.实验原理

1)

图像增强:

流程图:

 

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

滤波又可以分为均值滤波和中值滤波。

1.中值滤波原理:

中值滤波就是选用一个含有奇数个像素的滑动窗口,将该窗口在图像上扫描,把其中所含像素点按灰度级的升(或降)序排列,取位于中间的灰度值来代替窗口中心点的灰度值。

对于一维序列{

}:

对于二维序列{

}:

2.均值滤波原理:

对于含噪声的原始图像g(s,t)的每一个像素点去一个领域N,用N中所包含的相速的灰度平均值,作为领域平均处理后的图像f(x,y)的像素值,即:

2)图像分割:

设置阈值容差T0

计算平均值T1

 

T2=(m1+m2)/2

 

 

255*(I>T2)+0*(I<=T2)

 

\\255*(I>T2)+0*(I<=T2))))

0*(I<=T2)

 

图像分割:

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

本实验中我们是根据灰度值,将灰度值大于阈值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)图像增强:

clearall;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');

%复制原始图像

forn=3:

a+2

form=3:

b+2

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

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

end

end

%边界值设定

forn=1:

a+4

form=1:

b+4

%左上角设定

ifn<3&&m<3

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

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

%右下角设定

elseifn>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);

%右上角设定

elseifn<3&&m>b+2

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

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

%左下角设定

elseifm<3&&n>a+2

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

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

%上两行设定

elseifn<3

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

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

%下两行设定

elseifn>a+2

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

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

%左两列设定

elseifm<3

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

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

%右两列设定

elseifm>b+2

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

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

end

end

end

end

end

end

end

end

end

end

%图像处理

forn=3:

a+2

form=3:

b+2

%均值滤波

temp0=I2(n-2:

n+2,m-2:

m+2);

temp0=temp0.*h1;

temp1=mean(temp0(:

));

temp1=uint8(floor(temp1));

I2(n,m)=temp1;

%中值滤波

temp2=I3(n-2:

n+2,m-2:

m+2);

temp3=median(double(temp2(:

)));

temp3=uint8(floor(temp3));

I3(n,m)=temp3;

end

end

%保持分辨率

I4=I2(3:

a+2,3:

b+2);

I5=I3(3:

a+2,3:

b+2);

%显示图像

figure

(1);imshow(I1);

title('原始图像');

figure

(2);imshow(I4);

title('算数均值滤波输出');

figure(3);imshow(I5);

title('中值滤波输出');

图像分割:

clearall;clc;

%读取图像

I=imread('Fig10.29(a).jpg');

%创建变量

[a,b]=size(I);

J=zeros(a,b);

%设定迭代阈值

T0=1;

%初始化

T1=mean(I(:

));

r1=find(I>T1);

r2=find(I<=T1);

T2=(mean(I(r1))+mean(I(r2)))/2;

%迭代求解图像分割阈值

whileabs(T2-T1)>=T0

T1=T2;

r1=find(I>T1);

r2=find(I<=T1);

T2=(mean(I(r1))+mean(I(r2)))/2;

end

T2=ceil(T2);

%输出二值图像

fori=1:

a*b

J(i)=255*(I(i)>T2)+0*(I(i)<=T2);

end

%显示图像

figure

(1);imshow(I);

title('原始图像');

figure

(2);imhist(I);

title('灰度直方图');

holdon;

plot([T2,T2],[0,6000],'r');%画分割线

str1=num2str(T2);

text(T2+5,2000,'分割阈值');%标注分割阈值

text(T2+5,1800,str1);

holdoff;

figure(3);imshow(J);

title('迭代法分割输出');

3.实验结果

1)图像增强结果:

图像分割结果:

2)图像分割结果:

图6直方图

4.实验分析和总结

1)图像增强:

对比均值滤波和中值滤波的结果可知:

算术均值滤波和中值滤波对含噪声的图像都有去噪的效果。

对于均值滤波,算法简单,但在降低噪声的同时容易模糊图像边沿和细节。

对于中值滤波,去除图像中的椒盐噪声,消除孤立的噪声点,平滑效果优于均值滤波,在抑制噪声同时还能保持图像边缘清晰。

2)图像分割:

迭代法适用于图像灰度直方图中双峰明显的图像,从灰度直方图中我们可以看到该图像满足这一要求。

通过本次实验,了解了matlab中几个实用的子函数,更直接地了解均值滤波、中值滤波以及用迭代法求阈值的算法,通过实验观察到了图像增强和分割对图像的影响,了解到了用均值滤波和中值滤波两种方法进行图像增强的优缺点,使我对图像处理有了更进一步的理解。

在进行图像处理时,根据目标图像的特定情况选择正确的算法以及处理方法很重要,进行处理所采用的模板大小也同样重要。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1