图像的几何失真校正.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字图像处理 实验八:图像的几何失真校正 实验目的 1. 熟练掌握MATLAB图像处理工具箱中的imresize函数与imrotate函数。 2. 根据自己编写的程序,选定图像进行放大或缩小,进一步理解图像缩小、放大与旋转操作的原理。 二、实验主要仪器设备 1. 微型计算机:Intel Pentium及更高。 2. MATLAB软件(含图像处理工具箱)。 三、实验原理 1. imresize函数 imrersize函数使用由参数method指定的插值运算来改变图像的大小。method的几种可选值: nearest(默认值)最近邻插值 bilinear双线性插值 bicubic双三次插值 B = imresize(A,m)表示把图像A放大m倍 B = imresize(...,method,h)中的h可以是任意一个FIR滤波器(h通常由函数ftrans2、fwind1、fwind2、或fsamp2等生成的二维FIR滤波器)。 2. imrotate函数 函数功能:对图像进行旋转操作。在matlab命令窗口中键入help imrotate 或 doc imrotate或lookfor imrotate可以获得该函数帮助信息。 调用格式: B = imrotate(A,angle) 将图像A(图像的数据矩阵)绕图像的中心点旋转angle度, 正数表示逆时针旋转, 负数表示顺时针旋转。返回旋转后的图像矩阵。 以这种格式调用该函数, 该函数默认采用最近邻线性插值(Nearest-neighbor interpolation)。旋转后的图像超出的部分填充0(黑色)。 B = imrotate(A,angle,method) 使用method参数可以改变插值算法,method参数可以为下面这三个值: {nearest}:最邻近线性插值(Nearest-neighbor interpolation) bilinear: 双线性插值(Bilinear interpolation) bicubic: 双三次插值(或叫做双立方插值)(Bicubic interpolation) B = imrotate(A,angle,method,bbox) bbox参数用于指定输出图像属性: crop: 通过对旋转后的图像B进行裁剪, 保持旋转后输出图像B的尺寸和输入图像A的尺寸一样。 {loose}: 使输出图像足够大, 以保证源图像旋转后超出图像尺寸范围的像素值没有丢失。 一般上这种格式产生的图像的尺寸都要大于源图像的尺寸。 3. 最近邻插值算法 最简单的插值法是最近邻插值法,也叫零阶插值法。即选择离它所映射到的位置最近的输入像素的灰度值为插值结果。对二维图像,是取待测样点周围4 个相邻像素点中距离最近1 个相邻点的灰度值作为待测样点的像素值。若几何变换后输出图像上坐标为(x′,y′)的对应位置为(m,n)。 4. 双线性插值算法 双线性插值又叫一阶插值法,它要经过三次插值才能获得最终结果,是对最近邻插值法的一种改进,先对两水平方向进行一阶线性插值,然后再在垂直方向上进行一阶线性插值。插值算法所应用的领域较多,对图像进行缩放处理是比较典型的应用,由于图像像素的灰度值是离散的, 因此一般的处理方法是对原来在整数点坐标上的像素值进行插值生成连续的曲面, 然后在插值曲面上重新采样以获得缩放图像像素的灰度值。缩放处理从输出图像出发,采用逆向映射方法,即在输出图像中找到与之对应的输入图像中的某个或某几个像素,采用这种方法能够保证输出图像中的每个像素都有一个确定值,否则,如果从输入图像出发来推算输出图像,输出图像的像素点可能出现无灰度值的情况。因为,对图像进行缩放处理时输出图像像素和输入图像之间可能不再存在着一一对应关系。 四、实验内容 1. 自选图像练习使用MATLAB图像处理工具箱中的imresize函数与imrotate函数。 2. 自选图片,按隔行(列)采样的方法,编写缩小1/4的程序。 3. 编写放大长宽各1.5倍的程序,分别采用最小近邻插值法与双线性插值法。 五、实验结果与分析 1. imresize函数与imrotate函数的使用 选定图片football_iverse.jpg,调用函数imresize与imrotate(详见程序附录一),得到如下结果(如下图1所示): 图 1 调用函数imresize与imrotate运行结果截图 自选图片,按隔行(列)采样的方法,编写缩小1/4的程序。 本次选定图片cameraman.tif(256*256),先隔行抽样,图像大小变为128*256(缩小为原来的1/2),再隔列取样,图像大小由128*256再变为128*128(缩小为原来的1/4)。 根据上述思路

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档