restaureremagefloue.m
来自「Code MATLAB pour restaurer une image flo」· M 代码 · 共 71 行
M
71 行
%Annexe III : Code MATLAB pour restaurer une image floue (flou gaussien)
%Param鑤re
sigma=5; %閏art type de la gaussienne
k=10; %taille cache
troncature=100; %indice de troncature
% Chargement de l'image
G=imread('lenaflou.jpg','jpg');
G=double(G);
[n,m]=size(G);
%Construction de Hx et Hy dans le cas image carree i.e. n=m
K=2*k+1;
cache=abs(linspace(-k,k,K));
cache=exp(-cache.^2/(sigma^2));
cache=1/sum(cache)*cache;
p=cat(2,cache(k+1:K),zeros(1,m-K),cache(1:k));
H=p;
for i=2:n
p=cat(2,p(m),p(1:m-1));
H=cat(1,H,p);
end
%Restauration
[U,lambda,V] = svds(H,troncature);
lamb=diag(diag(lambda).^-1);
Hinverse=V*lamb*U';
F=Hinverse*G*Hinverse;
image(F);
F=uint8(F);
imwrite(F,'lenasansflou.jpg');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?