发布网友 发布时间:2022-04-24 01:35
共4个回答
热心网友 时间:2022-04-26 21:50
等一会的,我来帮你
华东师范大学???
tuxianghuanyuan('3.jpg', 80, 8, 0.02);
function tuxianghuanyuan(im, a, b, NSPR)
i = imread(im);
f = im2double(i);
PSF = fspecial('motion', a, b);
frest1 = deconvwnr(f, PSF, NSPR);
subplot(221),imshow(f); title('原图像');
subplot(222),imshow(frest1); title('维纳滤波处理后图像');
end
热心网友 时间:2022-04-26 23:08
PSF = fspecial('motion',len,ang); %建立扩散子,其中len是模糊长度,ang是模糊角度
img2=deconvlucy(img,PSF,n); %用lucy-richardson方法复原图像,其中img是运动模糊图像,PSF是扩散子,n是迭代次数,img2是复原图像
热心网友 时间:2022-04-27 00:43
可用于求模糊方向。。可参考网页链接 网页链接
%% 读入并显示图像
filename = '112.jpg';
I = imread(filename);
% figure
% imshow(uint8(I));
% title('原图');
%% 生成运动模糊图像
PSF = fspecial('motion',20,10);
g = imfilter(I, PSF, 'circular');
% figure
% imshow(uint8(g));
% title('运动模糊图');
%% 对运动模糊图像进行灰度化,并进行二维快速傅里叶变换,生成其频谱图
gb = rgb2gray(g);
I=im2double(gb);
F=fft2(I);
F=fftshift(F);
imshow(F);
F=abs(F);
t=log(F+1);
figure;
imshow(t,[]);
%% 用canny算子将压缩居中后的频谱图进行边缘检测,二值化
T = graythresh(t);
bw=edge(t, 'canny', T);
imshow(bw);
title('边缘检测后的图');
%% 对二值化后的频谱图进行radon变换
theta = 1:180;
[R,xp]= radon(bw, theta);
%% 计算出通过radon变换求出的模糊角度
MAX = max(max(R));
[m, n] = find(R == MAX);
[M,N] = size(F);
beita =atan(tan(n*pi/180)*M/N)*180/pi; %beita为模糊方向
热心网友 时间:2022-04-27 02:34
我也想知道怎么求PSF 你知道怎么弄了吗?求讲解