不添加噪声,使用维纳滤波器对运动模糊的图像进行恢复MATLAB 代码
时间: 2023-05-28 22:08:04 浏览: 99
matlab图像复原和图像增强技术:2 对于运动模糊和加性噪声的彩色图像进行维纳滤波和恢复.zip
5星 · 资源好评率100%
% 读取运动模糊图像
img = im2double(imread('motion_blur_image.jpg'));
% 定义运动方向和长度
theta = 45; % 运动方向
len = 15; % 运动长度
% 生成点扩散函数(PSF)
psf = fspecial('motion', len, theta);
% 对图像进行卷积
blurred = imfilter(img, psf, 'conv', 'circular');
% 恢复图像
restored = deconvwnr(blurred, psf);
% 显示图像
figure;
subplot(1,2,1); imshow(blurred); title('运动模糊图像');
subplot(1,2,2); imshow(restored); title('恢复图像');
% 评估恢复质量
psnr_val = psnr(restored, img);
fprintf('PSNR值为: %.2f dB\n', psnr_val);
阅读全文