数字图像处理之图像复原

上传人:mg****85 文档编号:33623711 上传时间:2018-02-16 格式:DOC 页数:17 大小:1.39MB
返回 下载 相关 举报
数字图像处理之图像复原_第1页
第1页 / 共17页
数字图像处理之图像复原_第2页
第2页 / 共17页
数字图像处理之图像复原_第3页
第3页 / 共17页
数字图像处理之图像复原_第4页
第4页 / 共17页
数字图像处理之图像复原_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《数字图像处理之图像复原》由会员分享,可在线阅读,更多相关《数字图像处理之图像复原(17页珍藏版)》请在金锄头文库上搜索。

1、1实验五、图象复原一、实验目的1了解图象退化的几种原因;2掌握对相应退化原因的复原方法。二、实验内容1使用函数 fspecial( )和 imfilter( )模拟产生退化图象;2对于不同的噪声引起图像的退化,采用不同的滤波方法复原图象。3学会使用维纳滤波器 deconvwnr()函数对图像进行复原的方法。三、实验步骤1 加性噪声退化图象用 imnoise( )函数给图象加噪声,如增加高斯白噪声。使用平滑滤波器对其进行滤波,可达到复原图像的效果x=imread(cameraman.tif);x=imnoise(x,gaussian)imshow(x)h=fspecial(average)y=i

2、mfilter(x,h);figureimshow(y)22、周期噪声退化图像对于周期噪声可以通过频域滤波来减弱或消除,实现复原图像。实验五文件夹中有被正弦周期噪声污染退化的图像pout_g_64.bmp,使用理想带阻滤波器对其频域滤波,复原图像。(1) pout_g_64.bmp 图像及其傅立叶谱见下图。34(2) 构造理想带阻滤波器close allx=imread(pout_g_64.bmp);xm=size(x,1); xn=size(x,2);M2=floor(xm/2); N2=floor(xn/2);u=-M2:1:M2-1; v=-N2:1:N2-1; U,V=meshgrid

3、(u,v);D=sqrt(U.2+V.2); D0=64;W=4;H=double(D(D0+W/2);figureMesh(U,V,H) ; title(D0=64,W=4,理想带阻滤波器 )思考:使用上述理想带阻滤波器对pout_g_64.bmp图像进行频域滤波,5得到复原图像,结果类似下图。close allx=imread(pout_g_64.bmp);xm=size(x,1); xn=size(x,2);M2=floor(xm/2); N2=floor(xn/2);u=-M2:1:M2-1; v=-N2:1:N2-1; U,V=meshgrid(u,v);D=sqrt(U.2+V.2

4、); D0=64;W=4;H=double(D(D0+W/2);F=fft2(x);f=fftshiFt(F);G=f.*H;subplot(121)imshow(real(G);title(频域滤波)GG=fftshift(G);I=ifft2(GG);subplot(122)imshow(uint8(I)title(复原后图像)63、运动模糊退化图像 给图像添加运动模糊,使用 deconvwnr()维纳滤波器进行图像复原。close allI=imread(cameraman.tif);imshow(I)title(original image)len=31; 7theta=10;PSF=

5、fspecial(motion,len,theta); % len 模糊长度,theta 运动角度Iblurred=imfilter(I,PSF,circular,conv); %对图像进行运动模糊figureimshow(Iblurred)title(blurred image)8Irestored=deconvwnr(Iblurred,PSF);%使用维纳滤波器复原图像figureimshow(Irestored)title(retored image)思考:9修改 deconvwnr()函数的参数 PSF,使 len 和 theta 分别为原来的2 倍,观察结果,体会真实 PSF 在图像

6、复原中的重要性。PSF1=fspecial(motion,2*len,theta),PSF2=fspecial(motion,len,2*theta)close allI=imread(cameraman.tif);len=31; theta=10;PSF=fspecial(motion,len,theta); % len 模糊长度,theta 运动角度Iblurred=imfilter(I,PSF,circular,conv); %对图像进行运动模糊PSF1=fspecial(motion,2*len,theta); % len 模糊长度,theta 运动角度PSF2=fspecial(mo

7、tion,len,2*theta)Irestored=deconvwnr(Iblurred,PSF1);%使用维纳滤波器复原图像subplot(1,2,1)imshow(Irestored)title( ,2*len retored image)Irestored=deconvwnr(Iblurred,PSF2);%使用维纳滤波器复原图像subplot(1,2,2)imshow(Irestored)title(2*theta retored image104、模拟模糊和噪声:模拟实时图像可能出现的模糊(即由于摄像头运动或者缺乏聚集而产生的模糊)和噪声(即随机分布噪声) 。使用维纳滤波器复原图像

8、,即使用 deconvwnr()函数复原。11(1)只使用点扩散函数 PSF 参数复原图像。deconvwnr ( BlurredNoisy , PSF)%- 使用高斯模板模糊图像-close allI=imread(cameraman.tif);figureimshow(I)title(original image)PSF=fspecial(gaussian,11,5);blurredI=imfilter(I,PSF); %模糊图像figureimshow(blurredI)title(blurred image)%-产生噪声,并加噪声到已模糊的图像-12%-使用 randn()函数产生随机

9、数据-noise=0.2*randn(size(I);%同图像大小一致blurredInoisy=imadd(blurredI,im2uint8(noise);%噪声添加到图像figureimshow(blurredInoisy)title(blurred & noise image)%-使用维纳滤波复原图像-wnrI1=deconvwnr(blurredInoisy,PSF);%噪声被放大了figureimshow(wnrI1)title(restored with PSF)(2)使用信噪比 NSR 参数复原图像。deconvwnr ( BlurredNoisy , PSF , NSR)I

10、是输入图像,noise 是 randn()函数产生的随机噪声,下面的公式用于计算13信噪比:NSR=sum(noise(:).2)/sum(im2double(I(:).2);%计算信噪比思考:使用 deconvwnr ( BlurredNoisy , PSF , NSR)维纳滤波器对上述被模糊和噪声退化的图像进行复原。结果类似下图。close allI=imread(cameraman.tif);subplot(2,2,1)imshow(I)title(original image)PSF=fspecial(gaussian,11,5);blurredI=imfilter(I,PSF); %

11、模糊图像subplot(2,2,2)imshow(blurredI)title(blurred image)%-产生噪声,并加噪声到已模糊的图像-%-使用 randn()函数产生随机数据-noise=0.2*randn(size(I);%同图像大小一致14blurredInoisy=imadd(blurredI,im2uint8(noise);%噪声添加到图像subplot(2,2,3)imshow(blurredInoisy)title(blurred & noise image)%-使用维纳滤波复原图像-NSR=sum(noise(:).2)/sum(im2double(I(:).2)wn

12、rI1=deconvwnr(blurredInoisy,PSF,NSR);%噪声被放大了subplot(2,2,4)imshow(wnrI1)title(restored with PSF&NSR)(3) 使用自相关函数改善图像复原的效果。deconvwnr( BlurredNoisy , PSF , NCORR , ICORR)NCORR:噪声的自相关函数NP = abs(fft2(noise).2; % 噪声的功率谱15NCORR = fftshift(real(ifft2(NP); % 噪声的自相关函数ICORR:图像自相关函数IP = abs(fft2(im2double(I).2;

13、% 图像的功率谱ICORR = fftshift(real(ifft2(IP); % 图像的自相关函数思考:使用 deconvwnr( BlurredNoisy , PSF , NCORR , ICORR)维纳滤波器对上述被模糊和噪声退化的图像进行复原。结果类似下图。close allI=imread(cameraman.tif);subplot(2,2,1)imshow(I)title(original image)PSF=fspecial(gaussian,11,5);blurredI=imfilter(I,PSF); %模糊图像subplot(2,2,2)imshow(blurredI)

14、16title(blurred image)%-产生噪声,并加噪声到已模糊的图像-%-使用 randn()函数产生随机数据-noise=0.2*randn(size(I);%同图像大小一致blurredInoisy=imadd(blurredI,im2uint8(noise);%噪声添加到图像subplot(2,2,3)imshow(blurredInoisy)title(blurred & noise image)%-使用维纳滤波复原图像-NP = abs(fft2(noise).2; % 噪声的功率谱NCORR = fftshift(real(ifft2(NP); % 噪声的自相关函数IP = abs(fft2(im2double(I).2; % 图像的功率谱ICORR = fftshift(real(ifft2(IP); % 图像的自相关函数wnrI1=deconvwnr(blurredInoisy,PSF,NCORR,ICORR);%噪声被放大了subplot(2,2,4)imshow(wnrI1)title(restored with PSF& NCORR,ICORR )17图像复原技术的主要目的是已预先确定的目标来改善图像。图像复原试图利用退化现象的某种先验知识来复原被退化的图像,复原技术是面向退化

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号