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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(图像的几何失真校正.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图像的几何失真校正.docx

1、图像的几何失真校正数字图像处理实验报告图像的几何失真校正专业班级: 10信息安全学生姓名: 王 猛 涛学生学号: 20101616310049指导教师: 姚 孝 明完成时间:2021年3月4日数字图像处理实验八:图像的几何失真校正一、 实验目的1.熟练掌握MATLAB图像处理工具箱中的imresize函数与imrotate函数。2.根据自己编写的程序,选定图像进行放大或缩小,进一步理解图像缩小、 放大与旋转操作的原理。二、 实验主要仪器设备1.微型计算机:Intel Pentium及更高。2.MATLAB软件(含图像处理工具箱)。三、 实验原理1.imresize 函数imrersize函数使

2、用山参数method指定的插值运算来改变图像的大小。 method的几种可选值:nearest* (默认值)最近邻插值bilinear双线性插值bicubic双三次插值B = imresize(A,m)表示把图像A放大m倍B = imresize(.,method,h)中的h可以是任意一个FIR滤波器(h通常由函数 ftrans2 fwindl、fwind2 或 fsamp2 等生成的二维 FIR 滤波器)。2.imrotate 函数函数功能:对进彳亍旋转操作。在matlab命令窗口中键入help imrotate或doc imrotate或lookfor imrotate可以获得该函数帮助信

3、息。调用格式:B = imrotate(A,angle)将图像A (图像的数据矩阵)绕图像的中心点旋转angle度,正数表示逆 时针旋转,负数表示顺时针旋转。返回旋转后的图像矩阵。以这种格式调用 该函数,该函数默认采用最近邻线性插值(Nearest-neighbor interpolation)。旋 转后的图像超出的部分填充0 (黑色)。B = imrotate(A,angle,method)使用method参数可以改变插值算法method参数可以为下面这三个值:nearest:最邻近线性插值(Nearest-neighbor interpolation)bilinear: 双线性插值(Bil

4、inearinterpolation)bicubic*:(或叫做双立方插值)(Bicubic interpolation )B = imrotnte(A,angle,method,bbox)bbox参数用于指定输出图像属性:crop:通过对旋转后的图像B进行裁剪,保持旋转后输出图像B的尺寸 和输入图像A的尺寸一样。loose1):使输出图像足够大,以保证旋转后超出范围的像素值没有丢失。 一般上这种格式产生的图像的尺寸都要大于源图像的尺寸。3.最近邻插值算法最简单的插值法是最近邻插值法,也叫零阶插值法。即选择离它所映射到 的位置最近的输入像素的灰度值为插值结果。对二维图像,是取待测样点周围4 个

5、相邻像素点中距离最近1个相邻点的灰度值作为待测样点的像素值。若儿何 变换后输出图像上坐标为(x,y)的对应位置为(m, n)。4.双线性插值算法双线性插值乂叫一阶插值法,它要经过三次插值才能获得最终结果,是对 最近邻插值法的一种改进,先对两水平方向进行一阶线性插值,然后再在垂直 方向上进行一阶线性插值。插值算法所应用的领域较多,对图像进行缩放处理 是比较典型的应用,山于图像像素的灰度值是离散的,因此一般的处理方法是对 原来在整数点坐标上的像素值进行插值生成连续的曲面,然后在插值曲面上重 新采样以获得缩放图像像素的灰度值。缩放处理从输出图像出发,采用逆向映 射方法,即在输出图像中找到与之对应的输

6、入图像中的某个或某儿个像素,采 用这种方法能够保证输出图像中的每个像素都有一个确定值,否则,如果从输 入图像出发来推算输出图像,输出图像的像素点可能出现无灰度值的情况。因 为,对图像进行缩放处理时输出图像像素和输入图像之间可能不再存在着一一 对应关系。四、实验内容1.自选图像练习使用MATLAB图像处理工具箱中的imresize函数与 imrotate 函数。2.自选图片,按隔行(列)采样的方法,编写缩小1/4的程序。3.编写放大长宽各1.5倍的程序,分别采用最小近邻插值法与双线性插值法。5.实验结果与分析1. imresize函数与imrotate函数的使用选定图片football_iver

7、se.jpg,调用函数imresize与imrotate (详见程序附录一),得到如下结果(如下图1所示):将原囹像缩小0 湄将原圏擁放大L5倍观察发现:囹悔岀现了”马赛克”现象逆时针旋转45度后图 1 调用函数imresize与imrotate运行结果截图2.自选图片,按隔行(列)采样的方法,编写缩小1/4的程序。本次选定图片cameraman.tif (256*256),先隔行抽样,图像大小变为128*256 (缩小为原来的1/2),再隔列取样,图像大小由128*256再变为128*128 (缩小 为原来的1/4)。根据上述思路,我们编写相应的MATLAB程序(具体见附录二),运行后结果

8、如下(见下图2所示)。原始图燼陽行采样后的结早再隔列采样后的结果图 2 图像釆样结果3.编写放大长宽各1.5倍的程序,分别采用最小近邻插值法与双线性插值 法。(1)最小近邻插值法根据前面提到的最小近邻插值法的原理,我们将扩大的图像的像素值反映 射回原来的图像,找出对应的像素点(可能为分数点),将对应分数点上的像素 值填充到扩大的图像中。确定分数点的灰度值:从分数点四周的四个整数点中, 选择距离分数点最近的整数点的值作为分数点的灰度值。由上编写相应的MATLAB程序(详见附录三),运行后所得结果如下(如下图3 所示):长和虫各放大为egiM8图 3 最小近邻插值结果(放大后图像出现了模糊的“马赛

9、克”现象)(2)双线性插值法依据前面所述的双线性插值法的原理,我们将扩大的图像的像素值反映射 回原来的图像,找出对应的像素点(可能为分数点),将对应分数点上的像素值 填充到扩大的图像中。确定分数点的灰度值:用分数点周围4个邻点的灰度值 加权内插作为灰度校正值。根据上述思路,编写相应的MATLAB程序(详见附录四),运行后所得结 果如下(如下图4所示人原始园像双线性插值法扩大后的国愫国燼中出现了模祠的马赛克现金图 4 双线性插值法处理后的结果4.结果分析做完上述实验,我们通过分析对比,得到如下结论:1) MATLAB图像处理工具箱中的imresize函数和imrotate函数可以较为方 便地对图

10、像进行放大、缩小、旋转等多种处理操作。2) 图像经过儿何位置校正后,在校正空间中各像素点的灰度值等于被校正 图像对应点的灰度值,而某些像素点可能分布不均匀,不会恰好落在坐标点上。 最近邻点法和双线性插值法可以很好的解决非整数点灰度值的校正。3) 与最近邻点法相比,双线性插值法儿何校正灰度是连续的(与imresize 函数结果比较接近),但讣算量较大,并且图像轮廓也会较为模糊,会出现比最 小近邻插值法更强的“马赛克”效应。附录:附录一:%调用MATLAB图像处理工具箱中的imresize函数和imrotate函数对图像进行缩小、放大、烷旋转变换clc,clear allI=imrcad(,foo

11、tballjvcrsc.jpg,);figurejmshow(I);title(,原始图像);J=imresize(L0.5);P=imresize(L1.5);figurejinshow(J);mi*将原图像缩小o.5倍);figure,imshow(P);titleC将原图像放大1.5倍);xlabelC观察发现:图像出现了 ”马赛克现象);Q=imrotate(L45);figure jmshow(Q);mice逆时针旋转45度后的图像附录二:%对图像进行隔行隔列采样,把原图像缩小为原图像的1/4clc,clear allimrcadCcanieraman.tif);s=size(I);

12、J=zeros(s( 1 )/2,s(2);弘隔行采样for i=l:s( 1)/2for j=l:s(2)if mod(i,2)-=0elseendendend%隔列采样T=zeros(s(l)/2,s(2 )/2);for i=l:s( 1)/2for j=l:s(2)/2if mod(j,2)-=0T(ij)=J(i,2*(j-l)+l);elseT(i,j)=J(i,2*j-l);endendendfigure jnishow(uint8(I);title(jji?图像); figureJmshow(uint8(J );title(隔行采样后的结果 *);figure,imshow(u

13、int8(T);title( Hi 隔列采样后的结果 *); 附录三:E最小近邻插值法clc,clear allI=imread(tiretif);s=size(I);m=1.5*s(l);n=1.5*s(2);J=zeros(m.n);for i=l:mfor j=l:nJ(ij)=I(round(i/l .5)jound(j/1.5);endendfigurejmshow(r);title(,Kl 始图像);figure,imshow(uint8(J);title(最小近邻插值后的图像);xlabelC长和宽各放大为原來的1.5倍);附录四:%双线性插值法clc,clear allI=im

14、rcad(canieraman.tif);s=size(I);m=1.5*s(l);n=1.5*s(2);J=zeros(m.n);for i=l:m-lfor j=l:n-lp=abs(i/l .5-round(i/l .5);q=abs(j/l .5-round(j/1.5);J(ij)=( 1 -p)*(l -q)*I(round(i/l .5),round(j/l .5)+ p*(l -q)*I(round(i/l .5),round(j/1.5)+.(l-p)*q*I(round(i/1.5),round(j/1.5)+l)+. p*q*I(round(i/l .5)?round(j/l .5)+1);endendfigure)imshow(I);title(,原始图像);figure jmshow(uint8(J);titleC线性插法扩大丿:i 的图像); xlabelC图像中出现了模糊的:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1