版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字图像处理第六次作业摘要本次报告主要记录第六次作业中的各项任务完成情况。本次作业以matlab 2013为平台,结合matlab函数编程实现对所给图像文件的相关处理:1.在测试图像上产生高斯噪声lena图-需能指定均值和方差;并用滤波器(自选)恢复图像;2.实现下边要求;(a) 实现模糊滤波器如方程eq. (5.6-11) ;(b) 模糊lena图像:45度方向,t=1;(c) 在模糊的lena图像中增加高斯噪声,均值= 0 ,方差=10 pixels 以产生退化图像;(d)分别利用方程 eq. (5.8-6)和(5.9-4),恢复图像。以上任务完成后均得到了预期的结果。1.在测试图像上产生
2、高斯噪声lena图-需能指定均值和方差;并用滤波器(自选)恢复图像;(1)实验原理与方法图像复原处理是建立在图像退化的数学模型基础上的,这个退化数学模型能够反映图像退化的原因。图像的退化过程可以理解为施加于原图像上的运算和噪声两者联合作用的结果,图像退化模型如图1所示,可以表示为:图1 图像退化模型高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。一个高斯随机变量z的pdf可表示为:其中z代表灰度,u是z的均值,是z的标准差。高斯噪声的灰度值多集中在均值附近。本文采用55模板的中值滤波器和高斯滤波器(=1.5)作业四中已经介绍过,中值滤波器是使用一个像素邻域中灰度级的中值来替代
3、该像素值,即, 。高斯滤波是一种根据高斯函数的形状来选择模板权值的线性平滑滤波方法,具体操作是:用一个模板(或称卷积)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。利用matlab中imnoise函数加入高斯噪声:g=imnoise(f,type,parameters) 调用格式: g = imnoise(i,type) g = imnoise(i,type,parameters) 参数type对应的噪声类型如下: gaussian高斯白噪声 localvar0均值白噪声 poisson泊松噪声 salt & pepper盐椒噪声 speckle乘性噪
4、声滤波程序同作业四(2)处理结果(3)结果分析通过imnoise函数产生了被均值和方差可选的高斯噪声污染的图像。当高斯噪声均值不变为0时,随着方差增加,图像噪声越严重;当高斯噪声方差不变时,均值会影响到整个图像的灰度值,使整个图像变亮。与理论上均值和方差对图像的影响一致。分别使用高斯滤波器和中值滤波器对加噪图像进行恢复。两种方法在一定程度上都可以降低噪声。高斯滤波器降低噪声的同时保存的图像细节更丰富,亮度比原噪声图像和中值滤波后图像暗更接近原始图像,中值滤波后图像亮度基本与原噪声图像相同。2实现下边要求: (a) 实现模糊滤波器如方程eq. (5.6-11). (b) 模糊lena图像:45度
5、方向,t=1; (c) 在模糊的lena图像中增加高斯噪声,均值= 0 ,方差=10 pixels 以产生退化图像;(d)分别利用方程 eq. (5.8-6)和(5.9-4),恢复图像;(5.6-11)利用上式模糊lena图像:45度方向,t=1,即使a=b=0.1,t=1。对原始图像的图像矩阵做傅里叶变换并移至图像中心得到频域矩阵f,使h与f相乘后反傅里叶变换到空域得到变换后图像。维纳滤波综合了退化函数和噪声统计特性两个方面进行复原处理,其目标是寻找一个滤波器,使得复原后图像与原始图像的均方误差最小:因此维纳滤波器又称为最小均方误差滤波器,在频率中用下式表达:其中g(u,v)是退化图像的傅里
6、叶变换,h(u,v)是退化函数。 为噪声功率谱, 为未退化图像的功率谱。式5.8-6为属于维纳滤波式5.9-4为其中,是一个参数,必须对它进行调整以满足的条件,属于约束最小二层方滤波利用以上两式恢复图像的流程与对模糊原始图像的流程相似:对原始图像的图像矩阵做傅里叶变换并移至图像中心得到频域矩阵f,通过h得到,使与f相乘后反傅里叶变换到空域得到变换后图像。在实现5.9-4时借助matlab工具包以得到更好的效果。用fspecial和imnoise函数得到45度方向,t=1的模糊lena图像,并在此图像上实现维纳滤波和约束最小二乘方滤波。1)imfilter 功能:对任意类型数组或多维图像进行滤波
7、。 用法:b = imfilter(a,h) b = imfilter(a,h,option1,option2,.) 或写做g = imfilter(f, w, filtering_mode, boundary_options, size_options) 其中,f为输入图像,w为滤波掩模,g为滤波后图像。filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。2)fspecial 功能:fspecial函数用于建立预定义的滤波算子。 用法:h = fspecial(type) h = fs
8、pecial(type,para) 其中type指定算子的类型,para指定相应的参数。(2)处理结果 (3)结果分析1.按照书上公式编写的模糊函数图像是斜向下45度运动模糊,matlab函数是斜向上45度运动模糊的,公式的程序得到图像棱角比较分明边界比较明显。 2.使用自己编写的函数进行维纳滤波,难点在于寻找令信噪比最大的k值,报告中显示了k=0.06时的滤波结果,从结果看,视觉上的效果并不是很理想,噪声依然很大,要想达到更好的效果可能需要寻找更加合适的k值或者直接使用matlab的deconvreg函数实现。 3.最后采用matlaab提供的deconvreg函数进行约束最小二乘方滤波。从
9、滤波后的结果看,约束最小二乘方滤波得到了比维纳滤波更好的结果,噪声基本消除,图像变得模糊但是平滑。 附录:参考文献:1 rafael c. gonzalez., et al. 数字图像处理(第三版), 电子工业出版社, 2011.2 周品. matlab数字图像处理北京, 清华大学出版社, 2012源代码:1.img1.m产生高斯噪声并用高斯滤波器和中值滤波器滤波i=imread(lena.bmp); figure(1);subplot(1,2,1)imshow(i); title(原始图像lena.bmp); imwrite(i,原始图像lena.bmp); i2=imnoise(i,gau
10、ssian,0.5,0.01); subplot(1,2,2)imshow(i2); title(加入gaussian噪声后的lena.bmp(u=0.5,s2=0.01); imwrite(i2,加入gaussian噪声后的lena.bmp(u=0.5,s2=0.01).bmp); figure(2);subplot(2,2,1)imshow(i); title(原始图像lena.bmp);subplot(2,2,2)imshow(i2); title(lena加入gaussian噪声后的(u=0.5,s2=0.01).bmp); n=5; a=ones(n,n); p=size(i2);
11、x1=double(i2);x2=x1; for i=1:p(1)-n+1 for j=1:p(2)-n+1 c=x1(i:i+(n-1),j:j+(n-1); e=c(1,:); for u=2:n e=e,c(u,:); end mm=median(e); x2(i+(n-1)/2,j+(n-1)/2)=mm; endendi3=uint8(x2);subplot(2,2,3)imshow(i3); title(中值滤波(5x5)); imwrite(i3,中值滤波(5x5).bmp); i2,map=imread(加入gaussian噪声后的lena.bmp(u=0.5,s2=0.01)
12、.bmp);k=1.5; img=double(i2); n=5; n1=floor(n+1)/2); for i=1:n for j=1:n b(i,j) =exp(-(i-n1)2+(j-n1)2)/(4*k)/(4*pi*k); endend img1=conv2(img,b,same); d=uint8(img1); subplot(2,2,4); imshow(d,map); title(高斯滤波5x5) 2.img2.m运动模糊+高斯噪声、维纳滤波、约束最小二乘滤波i=imread(lena.bmp); figure(1);subplot(1,2,1)imshow(i); titl
13、e(lena.bmp原始图像); imwrite(i,lena原始图像.bmp); f=double(i); f=fft2(f); f=fftshift(f); m,n=size(f); a=0.1;b=0.1;t=1; for u=1:m for v=1:n h(u,v)=(t/(pi*(u*a+v*b)*sin(pi*(u*a+v*b)*exp(-sqrt(-1)*pi*(u*a+v*b); g(u,v)=h(u,v)*f(u,v); endendg=ifftshift(g); g=ifft2(g); g=256.*g./max(max(g);g=uint8(real(g); subplo
14、t(1,2,2); imshow(g); title(运动模糊化lena.bmp); imwrite(g,lena运动模糊的结果.bmp); figure(2)subplot(1,2,1); imshow(g); title(运动模糊化lena.bmp); imwrite(g, lena运动模糊的结果.bmp);i2=imnoise(g,gaussian,0,0.01); subplot(1,2,2)imshow(i2); title(模糊lena.bmp加入高斯噪声(u=0,s2=0.01); imwrite(i2,模糊lena.bmp加入高斯噪声(u=0,s2=0.01).bmp); fi
15、gure(3)i=imread(lena.bmp); h=fspecial(motion,50,45); i1=imfilter(i,h,circular,conv); i2=imnoise(i1,gaussian,0,0.01); subplot(1,2,1) imshow(i2); title(lena运动模糊+高斯噪声); imwrite(i2,lena运动模糊+高斯噪声.bmp);g1=double(i2); g1=fft2(g1); g1=fftshift(g1); m,n=size(g1); a=0.1;b=0.1;t=1;k=0.06; for u=1:m for v=1:n h
16、1(u,v)=(t/(pi*(u*a+v*b)*sin(pi*(u*a+v*b)*exp(-sqrt(-1)*pi*(u*a+v*b); f(u,v)=1/h1(u,v)*(abs(h1(u,v)2/(abs(h1(u,v)2+k)*g1(u,v); endendf=ifftshift(f); f=ifft2(f); f=256.*f./max(max(f); f=uint8(real(f); subplot(1,2,2) imshow(f); title(维纳滤波的结果(k=0.06); imwrite(f,维纳滤波的结果(k=0.06).bmp); i=imread(lena.bmp); h=fspecial(motion,50,45); i1=imfilter(i,h,circular,conv); i2=imnoise(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年玉林市第一人民医院医护人员招聘考试参考题库及答案详解
- 2026年浙江省中医院医护人员招聘考试参考试题及答案详解
- 2026年广发银行(海口分行)人员招聘笔试备考试题及答案详解
- 2026年天津市中西医结合医院医护人员招聘考试参考题库及答案详解
- 2026年黄石市中心医院普爱院区医护人员招聘考试备考试题及答案详解
- 2026年中国工商银行(黑龙江分行)人员招聘考试参考题库及答案详解
- 2026年解放军第180医院医护人员招聘笔试参考试题及答案详解
- 2025年中国人民解放军第44医院医护人员招聘考试试题附答案详解
- 2026年南平市第一医院医护人员招聘考试参考题库及答案详解
- 2026年榆林市中医院医护人员招聘考试参考试题及答案详解
- 爆破安全教育培训内容课件
- 2024-2025学年山东省青岛市青岛版六年级下册期末质量抽测数学试卷(无答案)
- 2025年安徽省产前筛查诊断卫生专业技术人员资格考试历年参考题库含答案详解(5套)
- 消防训练基地建设标准
- DB37-T4827-2025 水利工程运行管理标牌设置指南
- GB/Z 44267-2024自动化系统与集成工业数据数字孪生的可视化元素
- (正式版)HGT 3873-2024 增塑剂 己二酸二(2-乙基己基)酯(DOA)
- 《首件检验培训教材》课件
- 2022年吉林大学软件工程专业《计算机网络》科目期末试卷B(有答案)
- 施工现场消防安全培训课件讲义
- 项贤明主编马工程教材《教育学原理》第九章教师与学生
评论
0/150
提交评论