实验四 噪声图像的复原

实验四 噪声图像的复原
一、运动模糊与维纳滤波
1.实验方式
通过对图像添加运动模糊模拟实际拍照的延时效应,并且利用维纳滤波方式对图像进行滤波,观察维纳滤波对运动模糊的过滤效果,并对照其他几种滤波方式对运动模糊的影响。
实验代码:
close all;clear all;clc;
i=imread('E:\Matlabimage\book.jpg');
I=rgb2gray(i);
I = im2double(I);
LEN = 21;
THETA = 11;
PSF = fspecial('motion', LEN, THETA);
blurred = imfilter(I, PSF, 'conv', 'circular');
wnr2 = deconvwnr(blurred, PSF);
subplot(2,2,1);imshow(i);title('原图') 
subplot(2,2,2);imshow(I);title('灰度图')
subplot(2,2,3);imshow(blurred);title('运动模糊图像') 
subplot(2,2,4);imshow(wnr2);title('恢复图像')
代码解释:程序首先读取一幅JPG格式的彩图片,然后将此图片转化为双精度灰度图片,然后产生运动模糊算子PSF,其中参数LEN和THETA表示摄像物体逆时针方向一THETA方向运动了LEN个像素,并且通过imfilter实现运动模糊效果,将返回的结果放入blurred,然后通过deconvwnr实现滤波,并将滤波前后的图像显示出来。
实验结果:
几种滤波方式对运动模糊的滤除效果对比:
运动模糊+维纳滤波:                运动模糊+中值滤波:
运动模糊+平均值滤波
由对比结果可知维纳滤波对运动模糊有很好的处理效果。
二、利用MATLAB实现频域滤波的程序
1、频域sobel滤波
实验根据公式设计高通或低通滤波器对图像进行处理,并观察频域滤波的效果
实验代码:
close all;clear all;clc;
f=imread('cameraman.tif');
F=fft2(f);            %对图像进行傅立叶变换
%对变换后图像进行对数变化,并对其坐标平移,使其中心化
S=fftshift(log(1+abs(F)));
S=gscale(S);              %将频谱图像标度在0-256的范围内
figure,imshow(S)              %显示频谱图像临汾地震
h=fspecial('sobel');        %产生空间‘sobel’模版
figure;freqz2(h)              %查看相应频域滤波器的图像
PQ=paddedsize(size(f));  %产生滤波时所需大小的矩阵
H=freqz2(h,PQ(1),PQ(2)); %产生频域中的‘sobel’滤波器
H1=ifftshift(H);        %重排数据序列,使得原点位于频率矩阵的左上角
figure,imshow(abs(H),[]),title('abs(H)');      %以图形形式显示滤波器
figure,imshow(abs(H1),[]),title('abs(H1)');
gs=imfilter(double(f),h);  %用模版h进行空域滤波
gf=dftfilt(f,H1);        %用滤波器对图像进行频域滤波
荣智健夫人
figure,imshow(gs,[]),title('gs');     
figure,imshow(gf,[]),title('gf'); 
figure,imshow(abs(gs),[]),title('abs(gs)'); 
ntfs格式分区figure,imshow(abs(gf),[]),title('abs(gf)');
代码解释:程序先读入一幅灰度图像,然后进行傅里叶变换,在对变换后的图像进行对数变换改变频谱F的幅度范围,然后对变化后的图像进行平移,将低频部分移到频谱中心,再将频谱转化为双精度显示出来,然后利用fspecial函数产生sobel模板然后显示出频域滤波器的图像,再利用paddedsize产生滤波器所需要的矩阵,再利用此滤波器产生频域的sobel滤波器,然后绘出此频域滤波器,然后再分别对同一幅图像进行空域滤波与频域滤波,并将滤波后的图像显示出来对比滤波效果。
实验结果:
变换后的频谱:                        频域滤波器图像:
 
频域sobel滤波器:                平移后的滤波器:
 
空域滤波结果:                  频域滤波结果:
   
对空域滤波后的图像振幅:        频域滤波后的振幅:察哈尔
   
    实验结论:由实验结果可知空域滤波与频域滤波结果相似,可以分别出图像中具有一定特征的图像的一部分,并且对滤波后的图像取振幅可以用于图像的边沿提取和锐化。
2、高斯高通滤波:
说明:利用高斯高通滤波器对图像进行处理,并分析高斯高通滤波器对图像的影响。
实验代码:
f=imread('eight.tif');  %读取图片
PQ=paddedsize(size(f));  %产生滤波时所需大小的矩阵
D0=0.05*PQ(1);        %设定高斯高通滤波器的阈值
H=hpfilte('gaussian',PQ(1),PQ(2),D0);    %产生高斯高通滤波器
g=dftfilt(f,H);                        %对图像进行滤波
figure,imshow(f)                      %显示原图像乐山师范学院学报
figure,imshow(g,[])                    %显示滤波后图像
代码解释:实验先读入一幅灰度图像,然后产生滤波矩阵和阈值,在对图像进行高斯高通滤波,再将滤波后的图像显示出来,观察滤波效果。
实验结果:
原图:                                高斯高通滤波后:
 
  实验结论:由实验结果可知图像经过高斯高通滤波器后颜更加均衡,图像物体边沿产生了白光晕,突出了图像轮廓,有利于图像中物体轮廓信息的提取。
几种不同频域滤波结果的对比:
中南大学信息港理想低通(阈值:100):          理想高通(阈值:10):
 
巴特沃斯低通:                  巴特沃斯高通:

本文发布于:2024-09-25 01:20:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/477400.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   滤波   进行   频域
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议