数字图像处理实验(13):PROJECT 05-04,Parametric Wiener Filter

来源:互联网 发布:php 数值转字符串 编辑:程序博客网 时间:2024/06/05 10:04

实验要求:

Objective:
To understand the high performance of the parametric Wiener Filter in image restoration when there are additive noise after the image degradation.
Main requirements:
Ability of programming with C, C++, or Matlab.
Instruction manual:
(a) Implement a blurring filter as in Eq. (5.6-11).
(b) Blur image 5.26(a) in the +45o direction using T = 1, as in Fig. 5.26(b).
(c) Add Gaussian noise of 0 mean and variance of 10 pixels to the blurred image.
(d) Restore the image using the parametric Wiener filter given in Eq. (5.8-3).

本实验属于图像复原技术,使用参数维纳滤波进行图像复原。实验中向图像添加了高斯噪声和运动模糊,最后用参数维纳滤波器复原图像。

%close all;clc;clear all;% 读取图像img = imread('Fig5.26(a).jpg');img = im2double(img);figure;subplot(2,3,1);imshow(img);title('original image');% 模糊图像PSF = fspecial('motion', 30, 45);img1 = imfilter(img, PSF, 'conv', 'circular');subplot(2,3,2);imshow(img1);title('filtered image');% 添加高斯噪声noise_var = 0.001;img2 = imnoise(img1, 'gaussian', 0, noise_var);subplot(2,3,3);imshow(img2);title('add gaussian noise');% 参数维纳滤波,NSR直接给0% Specifying 0 for the NSR is equivalent to creating an ideal inverse filter.% img3 = deconvwnr(img2, PSF, 0.012);img3 = deconvwnr(img2, PSF, 0.0);subplot(2,2,3);imshow(img3);title('Restoration of Blurred, Noisy Image Using NSR = 0');% 参数维纳滤波,计算方差% img = double(img);estimated_NSR = noise_var / var(img(:));img4 = deconvwnr(img2, PSF, estimated_NSR);subplot(2,2,4);imshow(img4);title('Restoration of Blurred, Noisy Image Using Estimated NSR');

实验结果:
这里写图片描述
上面一行的图像分别是原始图像,模糊后的图像,以及添加高斯噪声后的图像;
下面一行的图像分别是调用维纳滤波器的两种情况,一个是不给参数,默认直接给0,另一个是使用方差计算参数后调用维纳滤波器得到的正确滤波结果。

阅读全文
0 0