数字图像处理_期末作业_降噪解答.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、实验目的: 1、掌握图像采样中降采样的matlab实现; 2、掌握对图像添加噪声的方法以及用滤波器对图像去噪的matlab实现; 3、掌握图像变换编码的matlab实现并用直方图评估编码。 二、实验环境: Matlab 7 三、实验内容: 1、对图像的降采样 降采样函数:t=g(1:8:size_a(1),1:8:size_a(2)); 结果: 通过观察原图与降采样后图像的对比,可以发现通过降低采样像素的个数降低了图像的分辨率,导致图像出现了棋盘格。对于不同的采样比例,分辨率降低的幅度也不同。Type为噪声类型,可以为gaussian、localvar、passion、salt pepper、speckle 给图片添加高斯噪声: 3、滤波 滤波函数: H=fspecial(type); H=fspecial(type,parameters); Type为滤波器类型,可以为 average、disk、gaussian、laplacian等。 用邻域平均法去噪: 对于不同的模板,平滑滤波的去噪效果不同,模板越大,效果越好,但是对图像本身的模糊影响也越大。 中值滤波不像平滑滤波那样使图像边界模糊,他在衰减噪声的同时,保持了图像细节的清晰。 4、对图像变换编码 用DCT对图像进行变换编码: 计算二维DCT矩阵函数:T=dctmtx(n); 结果: 均方根误差erms =0.0625 通过对比原图与压缩后的图像可以发现,DCT变换方法对重建图像品质在视觉上影响很小。但是对于系数的丢弃还是导致了图像细节的丢失。 通过对比原图的直方图与预测误差直方图,图片的熵有一定的减少,与图片的细节损失有直接性关联。 四、总结: 附: 以上实验所用代码: 降采样: I=imread(sunflower.jpg); I=rgb2gray(I); % 生成高斯滤波器的核 w=fspecial(gaussian,3,0.5); size_a=size(I); % 进行高斯滤波 g=imfilter(I,w,conv,symmetric,same); % 降采样 t=g(1:8:size_a(1),1:8:size_a(2)); % 显示处理结果 figure; imshow(I);axis on;gtext(原图); figure; imshow(t);axis on;gtext(降采样后图像); 加噪去噪: %给图像添加高斯噪声 I=imread(sunflower.jpg); I=rgb2gray(I); II=imnoise(I,gaussian,0,0.01); figure; imshow(I);axis on;gtext(原图); figure; imshow(II);axis on;gtext(添加高斯噪声图像) %邻欲平均法去噪 k1=filter2(fspecial(average,3),II); k2=filter2(fspecial(average,7),II); figure; subplot(121),imshow(uint8(k1));axis on;gtext(3x3模板平滑滤波); subplot(122),imshow(uint8(k2));axis on;gtext(7x7模板平滑滤波); %中值滤波去噪 k3=medfilt2(II); k4=medfilt2(II,[5 5]); figure; subplot(121),imshow(uint8(k3));axis on;gtext(3x3模板中值滤波); subplot(122),imshow(uint8(k4));axis on;gtext(5x5模板中值滤波); DCT变换编码: initialimage=imread(sunflower.jpg); initialimage=rgb2gray(initialimage); initialimage=double(initialimage)/255; figure(1); imshow(initialimage);axis on;title(原图); %对图像进行DCT t=dctmtx(8); dctcoe=blkproc(initialimage,[8 8],P1*x*P2,t,t); coevar=im2col(dctcoe,[8 8],distinct); coe=coevar; [y,ind]=sort(coevar); [m,n]=size(coevar); %舍去不重要的系数 snum=64-64*cr; for i=1:n coe(ind(1:snum),i)=0; end b2=col2im

文档评论(0)

123****6648 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档