ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:1,019.23KB ,
资源ID:3265013      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3265013.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验8 图像旋转和去高斯噪声资料.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

实验8 图像旋转和去高斯噪声资料.docx

1、实验8 图像旋转和去高斯噪声资料图像旋转与高斯白噪声姓名:夏夏 班级:2010级信息与计算科学一班 学号:060210055实验目的1. 掌握图像旋转、图像大小改变的原理。2. 利用“几何操作”剪切图像、改变图像大小、旋转图像。3. 了解改变图像大小的方法,包括不同的插值方式。4. 掌握两种方式下图像的旋转效果。5. 用33的模板处理加了高斯与椒盐噪声之后的图像,比较处理效果。实验原理:1. 将一幅图像视为一个二维矩阵,用MATLAB进行图像处理。2. 利用MATLAB图像处理工具箱中的函数imread(读)、imshow(显示)、imresize(改变大小)、imrotate(旋转)对图像进

2、行几何操作。3. 改变图像大小方法:以最近邻插值方法、双线性插值法、双三次插值法。分析不同的插值法对图像大小的影响。4. 图像旋转过程:为了观察图像旋转过程的效果,采用不同的方式旋转图像。5. 对图像旋转自己编程xuanzhuan()进行实现。6. 高斯白噪声与椒盐噪声处理图像比较。实验步骤:1. 自己编程xuanzhuan()函数实现图像旋转所说的图像旋转是保持目标区域大小不变化,则整幅图像变大;其实就是用旋转之后的图形覆盖目标区域的面积来确定旋转之后的图,但是由于旋转之后的图有时会有些像素不能被填充,所以会出现很多空点出没数据填充。旋转之中所用的公式:或几何运算一般定义为:一个几何运算需要

3、两个独立的算法。首先,需要一二算法来定义空间变换本身,用它描述每个像素如何从起初位置“移动”到终止位置,即每个像素的“运动”。同时,还需要一个用于灰度插值的算法。只因在一般情况下,输入图像的位置坐标(x,y)为整数,而输出图像的位置坐标为非整数,反之亦然。2. imrotate库函数实现图像的旋转:Matlab使用imrotate函数改变图像大小,其使用格式如下: 上式中X表示需要进行操作的图像,dag表示旋转的角度,这个角度以逆时针的方向计算,负值则表示顺时针方向的旋转,method参数表示选择何种插值方法,crop参数表示将旋转以后的图像取与原图像大小相同的中心部分输出,和loose参数。

4、3. 改变图像大小:Matlab使用imresize函数改变图像大小,其使用格式如下:上式中X表示需要进行操作的图像,M是放大的倍数,method参数表示选择何种插值方法,包括neareat(最近邻插值方法)、bilinear(双线性插值法)bicubic(双三次插值法)。imresize函数在缺省情况下使用的是最近邻插值方法。在这种算法的原理是每一个插值输出像素的值是在输入图像中与其最邻近的采样点的值,这种插值方法的运算量最小,适用于索引图像;而双线性插值的输出像素值是它在输入图像中2乘2领域采样点的平均值,它根据像素周围4个像素的灰度值在水平和垂直两个方向上对其进行插值;双三次插值使用三次

5、插值函数,选择4乘4领域采样点,取得的效果较好,但相应的计算量也是前两种大。4. 高斯与椒盐噪声1) 高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从正态分布,而它的功率谱密度又是均匀分布的。2) 椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起。我们这里主要使用了几个和椒盐噪声一样的模板来去噪,前面的实验一详细介绍了这里就不介绍了。实验过程:1. 自己编程实现图像旋转xuanzhuan()子函数 function z=xuanzhuan(c)szg=imread(G:/专业课/数字图像处理/实验

6、提交/图片/宋、彩.JPG);%读入原图szg=rgb2gray(szg);%转化为灰度图szg=imread(eight.tif);subplot(2,2,1),imshow(szg);title(原图像);M,N,L=size(szg);%M为行数,x方向,N为列数,y方向,L为维数d=c*pi/180; %旋转的角度backgray=0;%用作背景值的灰度值a=cos(d);b=sin(d);prxmin=round(a-N*b);prxmax=round(M*a-b);prymin=round(a+b);prymax=round(M*b+N*a);nr=prxmax-prxmin+1;

7、%行数,xnc=prymax-prymin+1;%列数,yprimag(1:nr,1:nc,1:L)=backgray;for i=1:M for j=1:N ii=round(i*a-j*b)-prxmin+1; jj=round(i*b+j*a)-prymin+1; for k=1:L primag(ii,jj,k)=szg(i,j,k); end endendsubplot(2,2,2),imshow(primag/255);title(45旋转后未插值处理的图像);%对图像中空格进行行插值for i=1:nr for j=2:nc-1 for k=1:L if(primag(i,j,k

8、) = backgray & primag(i,j-1,k) = backgray & primag(i,j+1,k) = backgray ) primag(i,j,k) =primag(i,j-1,k) ; end end endendsubplot(2,2,3),imshow(primag/256);title(45旋转并经插值处理的图像);%matlab自带的旋转函数X=imrotate(szg,c);subplot(2,2,4),imshow(X);title(用matlab自带的旋转函数运算得到的旋转图像);运行结果:图像旋转(旋转c=30):主函数c=30;xuanzhuan(c

9、);图像旋转(旋转c=45):图像旋转(c=90):2. 调用imrotate()库函数图像旋转%运用crop和loose库函数进行图像旋转比较I=imread(G:/专业课/数字图像处理/实验提交/图片/文彩媛.JPG);I=rgb2gray(I);J=imrotate(I,15,bilinear);%普通旋转J1=imrotate(I,15,bilinear,crop);%crop库函数进行图像旋转J2=imrotate(I,15,bilinear,loose);%loose库函数进行图像旋转subplot(2,2,1),imshow(I);title(原灰图像)subplot(2,2,2

10、),imshow(J);title(普通旋转下的图像)subplot(2,2,3),imshow(J1);title(crop参数下的旋转图像)subplot(2,2,4),imshow(J2);title(loose参数下的旋转图像)3. resize库函数改变图像大小%运用resize库函数来改变图像的大小I=imread(G:/专业课/数字图像处理/实验提交/图片/文彩媛.JPG);%matlab中的库图像figure,subplot(1,2,1),imshow(I);title(原图像);I=rgb2gray(I);%转化为灰度图J=imresize(I,2,nearest);%nea

11、rest邻插值方法放大2倍J1=imresize(I,2,bilinear);%bilinear双线性插值法放大2倍J2=imresize(I,2,bicubic);%bicubic双三次插值法放大2倍subplot(1,2,2),imshow(I);title(原灰图像);figure,subplot(2,2,1),imshow(J);title(neareat插值法);subplot(2,2,2),imshow(J1);title(bilinear插值法);subplot(2,2,3),imshow(J2);title(bicubic插值法);J3=imresize(I,200,200);

12、%指定图像的大小subplot(2,2,4),imshow(J3);title(指定图像大小);运行结果:4. 高斯与椒盐噪声比较I=imread(eight.tif);%读入原函数%I=imread(J:/专业课/数字图像处理/实验提交/图片/丁.jpg);%读入原函数%I=rgb2gray(I);%转化为灰度图subplot(2,3,1),imshow(I,);title(原图像);f=imnoise(I,gaussian,0,0.02);%对图象加高斯白噪声,噪声的均值与方差分别为0与0.01subplot(2,3,2),imshow(f);title(原图像加高斯白噪声后的图);h0=

13、1/9.*1 1 1;1 1 1;1 1 1;%定义平滑模板h1=0.1 0.1 0.1;0.1 0.2 0.1;0.1 0.1 0.1;h2=1/16.*1 2 1;2 4 2;1 2 1;%高斯模板h3=1/8.*1 1 1;1 0 1;1 1 1;g0=filter2(h0,f);%对模板进行滤波处理g1=filter2(h1,f);g2=filter2(h2,f);g3=filter2(h3,f);subplot(2,3,3),imshow(g0,);title(h0图像);%显示平滑结束结果subplot(2,3,4),imshow(g1,);title(h1图像);subplot(

14、2,3,5),imshow(g2,);title(h2图像);subplot(2,3,6),imshow(g3,);title(h3图像);figure,subplot(2,3,1),imshow(I,);title(原图像);J=imnoise(I,salt & pepper, 0.04);%对图象加椒盐噪声,噪声强度为0.04subplot(2,3,2),imshow(f);title(原图像加椒盐噪声后的图);subplot(2,3,3),imshow(g0,);title(h0图像);%显示平滑结束结果subplot(2,3,4),imshow(g1,);title(h1图像);sub

15、plot(2,3,5),imshow(g2,);title(h2图像);subplot(2,3,6),imshow(g3,);title(h3图像);运行结果: 加高斯白噪声结果: 加椒盐噪声运行结果: 人物图像去高斯噪声: 人物图像去椒盐噪声:实验心得与总结:1. 通过自己编的函数xuanzhuan()来旋转图像发现旋转之后出现很多空白点,根据老师您上课所说这应该是由于旋转之后导致图像变大了,出现很多像素没数值造成的。所以后来就编了插值来补充那些数据空白点所造成的图像不清楚。我发现图像旋转时在0到90度之间是有很大差别的。但是在90度时就没有差位了,这是因为90度刚好把它完全填充。这个程序有

16、个不好的地方就是它旋转的角度永远只是90度以内。我也调用了库函数进行比较。发现自己的插值之后还是远不如库函数。2. 调用库函数直接进行旋转,我发现一点瑕疵都没有,因为库函数考虑的比较细,进行了很好的插值。3. 调用了库函数来进行图像大小放缩,有三种方式,最近邻插值方法、双线性插值法、双三次插值法,还有一中直接把图拉大或拉小的,做出来的结果都很直观。同样为了方便,所以把图放在一张里,但是现象就不是很明显了,单独一张张看大图会发现明显区别的。4. 加高斯噪声与椒盐噪声然后用同样的模板去噪,通过比较发现效果差别是有点大的。但是有与我们是初学图像处理辨别能力不是很很强,这里是为了看起来方便所以把图放在一个框里。但是放在一个框里所以看起来就不是很明显。做实验时是把图像分开做的,然后看区别的。高斯噪声是对整体都有的那种,处理之后整体都变化的比较清楚。椒盐噪声则是会是哪些大的颗粒慢慢的被过滤掉。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2