📄 tuxiangfuyuan.m
字号:
function image=bldconv(g)
%Blind-deconv example
%Created by realasking
%Welcome to visit my blog: hi.baidu.com/realasking
%finish time:5-22-2007
a1=0.1;
a2=0.01;
PQ=paddedsize(size(g));
G=fft2(g,PQ(1),PQ(2));
[y x]=size(G);
htemp=ones(3);
h0=freqz2(htemp,PQ(1),PQ(2));
R=Rcreat(y,x);
H=h0;
for k=1:10 %计算IMG和psf
iMG=(conj(H).*G)./((conj(H).*H)+a1*R);
H=conj(iMG).*G./((conj(iMG).*iMG)+a2*R);
end
IMG=mat2gray(real(ifft2(iMG)));
image=IMG(1:size(g,1),1:size(g,2));
imwrite(image,'testfile.tif')
imshow(image,[]);
hold on;
end
%===========================
%计算R矩阵的函数Rcreat
%===========================
function R=Rcreat(y,x)
%R矩阵生成子函数
%by Realasking
%为bdeconv.m编制
i=1:y
j=1:x
RI=zeros(y,x);
RJ=zeros(y,x);
R=zeros(y,x);
for k=1:y %向量化代码生成R的矩阵
RI(k,i)=-2*cos(2*pi*i./y);
end
for k=1:x
RJ(j,k)=-2*cos(2*pi*j'./x);
end
R=4+RI+RJ;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -