|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我有一个关于Retinex 算法的代码,里面调用的ssr函数我实在看不懂,哪位高人能帮我解释下,特别是红字部分的
function img2=SSR(img,scale)
im=double(img)+1;
%im=zeros(2*size(img,1),2*size(img,2),size(img,3));
%for i=1:size(img,3)
% im(:,:,i)=[img(:,:,i) fliplr(img(:,:,i));flipud(img(:,:,i)) flipud(fliplr(img(:,:,i)))];
%end
fim=fft2(im);
imag=size(scale,2)*log(im);
for i=1:size(scale,2)
[x y]=meshgrid((-(size(img,2)-1)/2):(size(img,2)/2),(-(size(img,1)-1)/2):(size(img,1)/2));
gauss=exp(-(x.^2+y.^2)/scale(i)^2);
gaus=gauss/sum(gauss(:));
%gaus=[gauss fliplr(gauss);flipud(gauss) flipud(fliplr(gauss))];
fgauss=abs(fft2(gaus,size(im,1),size(im,2)));
for j=1:size(im,3)
fg(:,:,j)=fgauss;
end
imag=imag-log(abs(ifft2(fg.*fim)));
end
%img2=imag(1:size(img,1),1:size(img,2),:);
img2=imag/(size(scale,2)*(4-size(im,3))); |
|