基于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的退化图像复原------Lucy-Richarson滤波复原
youcans 的 OpenCV 例程 200 篇106. 退化图像的逆滤波