📄 blur.m
字号:
%este progama genera dos tipos de PSF para la simulacion de bluring
%Nota: la PSF es una matriz de convolucion circulante (Toeplitz)
%Andr閟 Hoyos Idrobo 2009
function [F]=blur(nn,mm,kk,L,ss,tipo)
%[F]=blur(nn,mm,kk,L,ss,tipo)
%donde: nn, mm y kk son el numero de filas, el numero de columna y el
%numero de planos respectivamente
%L : es el numero de pixeles que afecta
%s : es la desviacion estanda (se usa en el caso de PSF gaussiana)
%tipo: mov=movimiento
% exp=gaussiano
%creacion de la psf
t=L;
if tipo=='mov'
%Bluring de movimiento lineal
A=ones(1,t);
A=A'/sum(A);
% Creacion de la matriz de convoluci髇 (Toeplitz)
F=zeros(nn,mm);
r=round(length(A)/2);
for i=1:nn-r
F(i:i+r,i:i+r)=A(1);
end
elseif tipo=='exp'
%PSF Gaussiana
T=-t:t;
A=(1/(ss*sqrt(2*pi)))*exp(-0.5*((T).^2)/(ss^2));
TT=length(A);
RR=round(TT/2);
F=zeros(nn,mm);
for i=1:nn
F(i,i)=A(:,RR);
F(i+1:i+RR-2,i)=A(1,RR+1:TT-1);
F(i,i+1:i+RR-2)=A(1,RR+1:TT-1);
end
F=F(1:nn,1:mm);
else
error('metodo ilegal');
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -