1/7《图像处理技术应用实践》课程设计题目图像增强算法综合应用学生姓名学号院系专业任课教师xxxx年xx月xx日2/7图像增强算法综合应用梅雨南京信息工程大学计算机与软件学院,南京210044摘要:图像增强是指增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果。运用空间域与频率域相结合的算法,去除随机噪声和周期噪声的混合噪声,提高图像质量。关键词:随机噪声;周期噪声;空间域和频率域去噪1任务描述图像增强处理:设计一套空间域与频率域结合的图像增强算法,处理以下任一组图片中的带噪声图像,去除噪声,提高图像质量。(1)已知:噪声为随机噪声和周期噪声混合噪声;(2)要求:a)去噪处理后,计算均方误差评估去噪处理后图像的去噪效果b)撰写完整的科技报告(形式类似科技论文)表述自己的算法设计,算法实现与算法评估过程。第一组图片:第二组图片:3/72图像增强算法2.1问题分析(1)图片中加入了随机噪声和周期噪声混合噪声。针对不同的噪声,不同的去噪方法效果不同,因此应该采用不同的去噪方法以达到最好的去噪效果。(2)随机噪声应在空间域去除,而空域去噪方法中,中值滤波法效果最好。(3)周期噪声应在频域中消去。(4)去除噪声后的图像仍然可以改善处理。(5)均方误差评估去噪处理后图像的去噪效果。2.2算法设计(1)读入初始图片及加噪图片。clc;clear;f=imread('D:\dogOriginal.bmp');g=imread('D:\dogDistorted.bmp');(2)利用空域滤波,去除随机噪声,此时用中值滤波法,并显示它的频谱图。g3=medfilt2(g,[3,3]);原图去除随机噪声图1空域滤波后的图像与原图的比较(3)利用频域滤波,去除周期噪声。先转化成double型,进行傅里叶变换,再转化成数据矩阵,最后利用低通滤波去除周期噪声。F=double(g);%数据类型转换,MATLAB不支持图像的无符号整型的计算G=fft2(F);%傅里叶变换G=fftshift(G);%转换数据矩阵[M,N]=size(G);nn=2;%二阶巴特沃斯(Butterworth)低通滤波器d0=27;4/7m=fix(M/2);n=fix(N/2);fori=1:Mforj=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn));%计算低通滤波器传递函数result(i,j)=h*G(i,j);endend原图去除随机噪声去噪后的图图2去除混合噪声后的图像与原图的比较(4)计算均方误差评估去噪效果。[mn]=size(p);l=f-p;he=sum(sum(l));avg=he/(m*n);k=l-avg;result1=(sum(sum(k.^2)))/(m*n);ifresult1==0disp('dog图均方误差');result2=0elsedisp('dog图均方误差');result2=sqrt(result1)end3算法实现代码clc;clear;5/7f=imread('D:\dogOriginal.bmp');subplot(421);imshow(f),title('原图');f1=double(f);f2=fft2(f1);%傅立叶变换f2=fftshift(f2);subplot(422);imshow(log(abs(f2)),[]),title('原图频谱图');g=imread('D:\dogDistorted.bmp');subplot(423);imshow(g),title('混合噪声图');g1=double(g);g2=fft2(g1);%傅立叶变换g2=fftshift(g2);subplot(424);imshow(log(abs(g2)),[]),title('混合噪声频谱图');%空域滤波,去除随机噪声(中值)g3=medfilt2(g,[3,3]);subplot(425);imshow(g3),title('去除随机噪声');g4=double(g3);F1=fft2(g3);%对图像进行傅立叶变换F1=fftshift(F1);%移频figure,subplot(426),imshow(log(abs(F1)),[]),title('去除随机噪声频谱图');%频域滤波G=F1;[M,N]=size(G);nn=2;%二阶巴特沃斯(Butterworth)低通滤波器d0=27;m=fix(M/2);n=fix(N/2);fori=1:Mforj=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn));%计算低通滤波器传递函数result(i,j)=h*G(i,j);endendresult=ifftshift(result);g=ifft2(result);6/7p=uint8(real(g));subplot(427);imshow(p,[]),title('去噪后的图');subplot(428);imshow(log(abs(result)),[]),title('去噪后的频谱图');%计算均方误差[mn]=size(p);l=f-p;he=sum(sum(l));avg=he/(m*n);k=l-avg;result1=(sum(sum(k.^2)))/(m*n);ifresult1==0disp('dog图均方误差');result2=0elsedisp('dog图均方误差');result2=sqrt(result1)end4运行结果原图原图频谱图混合噪声图混合噪声频谱图去除随机噪声随机噪声频谱图去噪后的图去噪后的频谱图图3分步去噪与原图的比较7/7图4均方误差结果5程序分析通过本次设计,我发现去噪后的图不如原图清晰,去噪效果不是很好,可以采用其他算法观察去噪效果,也可以采用锐化函数对图像进一步锐化,提高图像质量。参考文献:[1]章毓晋.图像工程(上册):图像处理(第3版),清华大学出版社,2012[2]徐炜君、刘国忠.空间域和频域结合的图像增强技术及实现,中国测试,2009,7[3]余成波.数字图像处理及MATLAB实现,重庆大学,2003