图像处理实验图像增强和图像分割.doc
word图像处理实验图像增强和图像分割一、实验目的:掌握用空间滤波进展图像增强的根本方法,掌握图像分割的根本方法。二、 实验要求:1、测试图像1中同时含有均值为零的均匀分布噪声和椒盐噪声。用大小为5×5的算术均值滤波器和中值滤波器对图像进展处理,在不同窗口中显示原图像与各处理结果图像,并分析哪一种滤波器去噪效果好?2、对测试图像2进展图像分割,求出分割测试图像2的最优阈值。分别显示原图、原图的直方图标出阈值、和分割后的二值图。实验容:1. 实验原理 开始1) 图像增强:流程图: 读取图像 构建滤波函数 滤波处理 完毕 图像增强可以通过滤波的方式来完成,即消除一局部的噪声。滤波又可以分为均值滤波和中值滤波。1. 中值滤波原理:中值滤波就是选用一个含有奇数个像素的滑动窗口,将该窗口在图像上扫描,把其中所含像素点按灰度级的升或降序排列,取位于中间的灰度值来代替窗口中心点的灰度值。对于一维序列: 对于二维序列:2. 均值滤波原理:对于含噪声的原始图像g(s,t)的每一个像素点去一个领域N,用N中所包含的相速的灰度平均值,作为领域平均处理后的图像f(x,y)的像素值,即:2) 图像分割:设置阈值容差T0计算平均值T1由T1分割成G1,G2分别计算出G1,G2的平均值m1,m2T2=m1+m2/2|T2-T1|>T0是否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 m1m2/2 。(5如果新阈值跟原阈值之间的差值小于一个预先设定的围,停止循环,否如此继续24步。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+2for m=3:b+2I2(n,m)=I1(n-2,m-2);I3(n,m)=I1(n-2,m-2);endend%边界值设定for n=1:a+4for m=1:b+4%左上角设定if n<3&&m<3I2(n,m)=I2(6-n,6-m);I3(n,m)=I3(6-n,6-m);%右下角设定else if n>a+2&&m>b+2I2(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 n<3&&m>b+2I2(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+2I2(n,m)=I2(2*a+4-n,6-m);I3(n,m)=I3(2*a+4-n,6-m);%上两行设定else if n<3I2(n,m)=I2(6-n,m);I3(n,m)=I3(6-n,m);%下两行设定else if n>a+2I2(n,m)=I2(2*a+4-n,m);I3(n,m)=I3(2*a+4-n,m);%左两列设定else if m<3I2(n,m)=I2(n,6-m);I3(n,m)=I3(n,6-m);%右两列设定else if m>b+2I2(n,m)=I2(n,2*b+4-m);I3(n,m)=I3(n,2*b+4-m);endendendendendendendendendend%图像处理for n=3:a+2for m=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;endend%保持分辨率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('中值滤波输出');图像分割:clear all;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;%迭代求解图像分割阈值while abs(T2-T1)>=T0T1=T2;r1=find(I>T1);r2=find(I<=T1);T2=(mean(I(r1)+mean(I(r2)/2;endT2=ceil(T2);%输出二值图像for i=1:a*bJ(i)=255*(I(i)>T2)+ 0*(I(i)<=T2);end%显示图像figure(1);imshow(I);title('原始图像');figure(2);imhist(I);title('灰度直方图');hold on;plot(T2,T2,0,6000,'r');%画分割线str1=num2str(T2);text(T2+5,2000,'分割阈值');%标注分割阈值text(T2+5,1800,str1);hold off;figure(3);imshow(J);title('迭代法分割输出');3. 实验结果1) 图像增强结果:图像分割结果:2) 图像分割结果: 图6 直方图4. 实验分析和总结1) 图像增强:比照均值滤波和中值滤波的结果可知:算术均值滤波和中值滤波对含噪声的图像都有去噪的效果。对于均值滤波,算法简单,但在降低噪声的同时容易模糊图像边沿和细节。对于中值滤波,去除图像中的椒盐噪声,消除孤立的噪声点,平滑效果优于均值滤波,在抑制噪声同时还能保持图像边缘清晰。2) 图像分割:迭代法适用于图像灰度直方图中双峰明显的图像,从灰度直方图中我们可以看到该图像满足这一要求。通过本次实验,了解了matlab中几个实用的子函数,更直接地了解均值滤波、中值滤波以与用迭代法求阈值的算法,通过实验观察到了图像增强和分割对图像的影响,了解到了用均值滤波和中值滤波两种方法进展图像增强的优缺点,使我对图像处理有了更进一步的理解。在进展图像处理时,根据目标图像的特定情况选择正确的算法以与处理方法很重要,进展处理所采用的模板大小也同样重要。11 / 11