您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > 数字图像处理实验三:图像的复原
南京工程学院通信工程学院实验报告课程名称数字图像处理C实验项目名称实验三图像的复原实验班级算通111学生姓名夏婷学号208110408实验时间2014年5月5日实验地点信息楼C322实验成绩评定指导教师签名年月日实验三、图像的恢复一、实验类型:验证性实验二、实验目的1.掌握退化模型的建立方法。2.掌握图像恢复的基本原理。三、实验设备:安装有MATLAB软件的计算机四、实验原理一幅退化的图像可以近似地用方程g=Hf+n表示,其中g为图像,H为变形算子,又称为点扩散函数(PSF),f为原始的真实图像,n为附加噪声,它在图像捕获过程中产生并且使图像质量变坏。其中,PSF是一个很重要的因素,它的值直接影响到恢复后图像的质量。I=imread(‘peppers.png’);I=I(60+[1:256],222+[1:256],:);figure;imshow(I);LEN=31;THETA=11;PSF=fspecial(‘motion’,LEN,THETA);Blurred=imfilter(I,PSF,’circular’,’conv’);figure;imshow(Blurred);MATLAB工具箱中有4个图像恢复函数,如表3-1所示。这4个函数都以一个PSF和模糊图像作为主要变量。deconvwnr函数使用维纳滤波对图像恢复,求取最小二乘解,deconvreg函数实现约束去卷积,求取有约束的最小二乘解,可以设置对输出图像的约束。deconvlucy函数实现了一个加速衰减的Lucy-Richardson算法。该函数采用优化技术和泊松统计量进行多次迭代。使用该函数,不需要提供有关模糊图像中附加噪声的信息。deconvblind函数使用的是盲去卷积算法,它在不知道PSF的情况下进行恢复。调用deconvblind函数时,将PSF的初值作为一个变量进行传递。该函数除了返回一个修复后的图像以外,还返回一个修复后的PSF。下面以维纳滤波和约束去卷积为例说明图像恢复的实验原理。deconvwnr使用维纳滤波对图像恢复deconvreg对图像进行约束去卷积deconvlucy用Lucy-Richardson算法实现图像恢复deconvblind用盲去卷积算法实现图像恢复1.维纳滤波使用deconvwnr函数可以利用维纳滤波方法恢复图像。在图像的频率特征和附加噪声已知的情况下,Wiener滤波比较有效。本例演示了维纳滤波器的性能,同时也演示了PSF的重要性。得到准确的PSF时,恢复的结果会比较好。I=imread(‘peppers.png’);I=I(10+[1:256],222+[1:256],:);LEN=31;THETA=11;PSF=fspecial(‘motion’,LEN,THETA);Blurred=imfilter(I,PSF,’circular’,’conv’);wnrl=deconvwnr(Blurred,PSF);imshow(wnrl);2.约束去卷积采用deconvreg函数可以对图像进行约束去卷积。当知道附加噪声的部分信息时,使用约束去卷积实现图像恢复比较有效。(1)将一幅图像读入MATLAB工作空间。本例使用裁剪来减小要恢复的图像的大小。I=imread('flowers.tif');I=I(10+[1:256],222+[1:256],:);figure;imshow(I);(2)创建PSFPSF=fspecial(‘gaussian’,11,5);(3)模糊化图像并添加噪声。Blurred=imfilter(I,PSF,’conv’);V=0.02;BlurredNoisy=imnoise(Blurred,’gaussian’,0,V);figure;imshow(BlurredNoisy);(4)用deconvreg函数恢复图像,指定PSF和噪声幂次NP。NP=V*prod(size(I));[reg1LAGRA]=deconvreg(BlurredNoisy,PSF,NP);figure,imshow(reg1);五、实验内容选择一幅清晰图像,对该图像进行模糊化处理,然后分别采用逆滤波、维纳滤波和约束去卷积恢复原来图像,比较各图像恢复方法的恢复效果。六、实验步骤与结果将一张图片1、(1)选择一幅清晰图像,对该图像进行模糊化处理I=imread('b.jpg');%读入图像I=I(60+[1:256],222+[1:256],:);%裁剪图像。figure;imshow(I);%创新建图像并显示LEN=31;THETA=11;PSF=fspecial('motion',LEN,THETA);%对图像进行模糊Blurred=imfilter(I,PSF,'circular','conv');%创建PSF的退化图像figure;imshow(Blurred);%创建图像并显示模糊后的图像(2)、使用deconvwnr函数可以利用维纳滤波方法恢复图像。I=imread('b.jpg');%读入图像I=I(10+[1:256],222+[1:256],:);%裁剪图像LEN=31;THETA=11;PSF=fspecial('motion',LEN,THETA);%创建PSF的退化图像Blurred=imfilter(I,PSF,'circular','conv');%使用IPF对图像进行模糊建模wnrl=deconvwnr(Blurred,PSF);%维纳滤波imshow(wnrl);%显示滤波后的图像结果如图所示:2,、(1)将一幅图像读入MATLAB工作空间。本例使用裁剪来减小要恢复的图像的大小。I=imread('b.jpg');%读入图像I=I(10+[1:256],222+[1:256],:);%裁剪图像figure;imshow(I);%并显示创建图像结果如图所示:(2)创建PSFPSF=fspecial(‘gaussian’,11,5);(3)模糊化图像并添加噪声Blurred=imfilter(I,PSF,'conv');%创建PSF的退化图像v=0.02;BlurredNoisy=imnoise(Blurred,'gaussian',0,v);%添加噪声figure;imshow(BlurredNoisy);%创建图像并显示添加噪声后的图像(4)用deconvreg函数恢复图像,指定PSF和噪声幂次NPNP=V*prod(size(I));%噪声幂次[reg1LAGRA]=deconvreg(BlurredNoisy,PSF,NP);%对图像进行约束去卷积figure,imshow(reg1);%建立并显示图像六、实验总结通过这次实验,能够实际掌握退化模型的建立方法,图像恢复的基本原理。
本文标题:数字图像处理实验三:图像的复原
链接地址:https://www.777doc.com/doc-4955588 .html