文档详情

数值图像处理实验三..docx

发布:2017-01-09约3.2千字共9页下载文档
文本预览下载声明
Digital Image Processing CourseExperiment ReportExperiment Title:Image Restoration Color Image ProcessingStudent’s NameStudent’s ID:Class:Date handed in:Information Engineering school, NCUT噪声生成器:clc;clear all;close all;A = imread(cameraman.tif); % 读入图像subplot(1,3,1)imshow(A);title(original);subplot(1,3,2)Noisy=imnoise(A,gaussian,0,0.008);imshow(Noisy); %添加均值为0、方差0.008的高斯噪声title(gaussian);subplot(1,3,3)Noisys=imnoise(A,salt pepper,0.02);imshow(Noisys); %添加概率密度为0.02的椒盐噪声title(salt pepper);实验结果:结果分析:利用函数imnoise可以在原图像中加入高斯噪声和椒盐噪声,高斯噪声可以指定其均值和方差;椒盐噪声可以指定其概率密度。中值滤波降:clc;clear all;close all;f = imread(cameraman.tif); % 读入图像subplot(1,3,1)imshow(f);title(original);g = imnoise(f,salt pepper,0.2);%在原图中添加椒盐噪声,概率密度均为0.2subplot(1,3,2)imshow(g); title(salt pepper); f1 = medfilt2(g,[3 3],symmetric);%中值滤波subplot(1,3,3)imshow(f1); title(median filter);实验结果:结果分析:利用中值滤波器可以滤除一定的高斯噪声和椒盐噪声,但是,中值滤波器的滤波作用有限,无法将全部的噪声滤除。维纳滤波:function [f,PSF,noise,g]=degraded_pattern_generaterf=checkerboard(8); %生成8*8的方格图,左半边为白色,右半边为灰色PSF=fspecial(motion, 7, 45); %生成motion型滤波器gb=imfilter(f, PSF, circular); %对f进行滤波得到gb[M,N]=size(f); %获取f的行和列a=0,b=sqrt(0.001);noise=a+b*randn(M,N); %生成噪声g=gb+noise %对g进行加噪subplot(2,3,1);imshow(f);title(f);subplot(2,3,3);imshow(gb);title(gb);subplot(2,3,2);imshow(g);title(g);subplot(2,3,4);imshow(PSF);title(PSF)subplot(2,3,5);imshow(noise);title(noise)结果分析:该函数用于生产一个8乘8的方格,并在该方格中加入噪声。function [fr1,fr2,fr3]=wiener_filtering %函数声明[f,PSF,noise,g]=degraded_pattern_generater; %调用函数生成退化函数fr1=deconvwnr(g,PSF) %J=deconvwnr(I,PSF)用于恢复由于PSF以及可能的加性噪声卷积退化的图像I,该算法利用图像和噪声的相关矩阵,从估%计图像与真实图像之间的最小均方误差意义上来说是最佳的。在没有噪声的情况下,维纳滤波器退化成理想的逆滤波器。?Sn=abs(fft2(noise)).^2; %信号功率nA=sum(Sn(:))/numel(noise);%归一化Sf=abs(fft2(f)).^2; %噪声功率fA=sum(Sf(:))/numel(f); %归一化R=nA/fA; %信噪比fr2=deconvwnr(g,PSF,R);%J=deconvwnr(I,PSF,NSR)中的NSR是信噪功率比,NSR可以是标量,或者是和图像I一样大小尺寸的数组,NSR的默认值为0。NCORR=fftshift(real(ifft2(Sn)));%噪声的自相关函数ICORR=fftshift(real(ifft2(Sf)));%原始图像的自相关函数fr3=deconvw
显示全部
相似文档