基于matlab的退化图像复原------逆滤波复原

Posted Mnster_Lu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于matlab的退化图像复原------逆滤波复原相关的知识,希望对你有一定的参考价值。

 

差不多就是这个理论,傅里叶变换之后除掉退化函数的傅里叶变换,就变回来了。

说是这么说,写出来就是这样。手写公式简单得多,人懒就是任性。

matlab代码。

 

clc
I=imread(\'src.png\');
I0=rgb2gray(I);
subplot(231);
imshow(I0);
title(\'src\');
[m,n]=size(I0);
F=fftshift(fft2(I0));
k=0.0025;
H=[];
for u=1:m
    for v=1:n
        q=((u-m/2)^2+(v-n/2)^2)^(5/6);
        H(u,v)=exp((-k)*q);
    end
end
G=F.*H;
I1=abs(ifft2(fftshift(G)));
subplot(232);
imshow(uint8(I1))
title(\'退化\');

I2=imnoise(uint8(I1),\'gaussian\',0,0.001);
subplot(233);
imshow(uint8(I2));
title(\'加噪声\');
F0=fftshift(fft2(I2));
F1=F0./H;
I3=ifft(fftshift(F1));
subplot(236);
imshow(uint8(I3));
title(\'退化噪声复原\')

F2=fftshift(fft2(I1));
F3=F2./H;
I4=ifft(fftshift(F3));
subplot(235);
imshow(uint8(I4));
title(\'退化复原\')

F4=fftshift(fft2(I0));
I5=ifft(fftshift(F4));
subplot(234);
imshow(uint8(I5));
title(\'直接傅里叶变换回来\')

  

上面主要是傅里叶除的矩阵要一样维度,所以给了个[m,n]的矩阵,好像局限性有点大。

我个人想是不是逆卷积的效果更好一点,主要是傅里叶变来变去的相位难以控制。

 

    参考《MATLAB图像处理超级学习手册》

以上是关于基于matlab的退化图像复原------逆滤波复原的主要内容,如果未能解决你的问题,请参考以下文章

基于matlab的退化图像复原------维纳滤波复原

基于matlab的退化图像复原------Lucy-Richarson滤波复原

基于Matlab退化图像的逆滤波处理

youcans 的 OpenCV 例程 200 篇106. 退化图像的逆滤波

youcans 的 OpenCV 例程 200 篇106. 退化图像的逆滤波

基于matlab的退化图像复原------图像退化处理