欢迎来到天天文库
浏览记录
ID:21688405
大小:933.50 KB
页数:11页
时间:2018-10-23
《图像的几何失真校正》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、专业班级:10信息安全学生姓名:王猛涛学生学号:_20101616310049_指导教师:姚孝明完成时间:2021年9月7日图像的几何失真校正数字图像处理实验八:图像的几何失真校正一、实验目的1.熟练掌握MATLAB图像处理工具箱中的imresize函数与imrotate函数。2.根据自己编写的程序,选定图像进行放大或缩小,进一步理解图像缩小、放大与旋转操作的原理。二、实验主要仪器设备1.微型计算机:IntelPentium及更高。2.MATLAB软件(含图像处理工具箱)。三、实验原理1.imresize函数imrersize函数使用由参数method指
2、定的插值运算来改变图像的大小。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命令窗口中键入helpimrotate或docimrotate或lookforimrotate可以获得该函数帮
3、助信息。调用格式:B=imrotate(A,angle)将图像A(图像的数据矩阵)绕图像的中心点旋转angle度,正数表示逆时针旋转,负数表示顺时针旋转。返回旋转后的图像矩阵。以这种格式调用该函数,该函数默认采用最近邻线性插值(Nearest-neighborinterpolation)。旋转后的图像超出的部分填充0(黑色)。B=imrotate(A,angle,method)使用method参数可以改变插值算法,method参数可以为下面这三个值:{'nearest'}:最邻近线性插值(Nearest-neighborinterpolation)'bi
4、linear':双线性插值(Bilinearinterpolation)'bicubic':双三次插值(或叫做双立方插值)(Bicubicinterpolation)B=imrotate(A,angle,method,bbox)bbox参数用于指定输出图像属性:'crop':通过对旋转后的图像B进行裁剪,保持旋转后输出图像B的尺寸和输入图像A的尺寸一样。{'loose'}:使输出图像足够大,以保证源图像旋转后超出图像尺寸范围的像素值没有丢失。一般上这种格式产生的图像的尺寸都要大于源图像的尺寸。3.最近邻插值算法最简单的插值法是最近邻插值法,也叫零阶插值法
5、。即选择离它所映射到的位置最近的输入像素的灰度值为插值结果。对二维图像,是取待测样点周围4个相邻像素点中距离最近1个相邻点的灰度值作为待测样点的像素值。若几何变换后输出图像上坐标为(x′,y′)的对应位置为(m,n)。4.双线性插值算法双线性插值又叫一阶插值法,它要经过三次插值才能获得最终结果,是对最近邻插值法的一种改进,先对两水平方向进行一阶线性插值,然后再在垂直方向上进行一阶线性插值。插值算法所应用的领域较多,对图像进行缩放处理是比较典型的应用,由于图像像素的灰度值是离散的,因此一般的处理方法是对原来在整数点坐标上的像素值进行插值生成连续的曲面,然后
6、在插值曲面上重新采样以获得缩放图像像素的灰度值。缩放处理从输出图像出发,采用逆向映射方法,即在输出图像中找到与之对应的输入图像中的某个或某几个像素,采用这种方法能够保证输出图像中的每个像素都有一个确定值,否则,如果从输入图像出发来推算输出图像,输出图像的像素点可能出现无灰度值的情况。因为,对图像进行缩放处理时输出图像像素和输入图像之间可能不再存在着一一对应关系。四、实验内容1.自选图像练习使用MATLAB图像处理工具箱中的imresize函数与imrotate函数。2.自选图片,按隔行(列)采样的方法,编写缩小1/4的程序。3.编写放大长宽各1.5倍的程
7、序,分别采用最小近邻插值法与双线性插值法。五、实验结果与分析1.imresize函数与imrotate函数的使用选定图片football_iverse.jpg,调用函数imresize与imrotate(详见程序附录一),得到如下结果(如下图1所示):图1调用函数imresize与imrotate运行结果截图2.自选图片,按隔行(列)采样的方法,编写缩小1/4的程序。本次选定图片cameraman.tif(256*256),先隔行抽样,图像大小变为128*256(缩小为原来的1/2),再隔列取样,图像大小由128*256再变为128*128(缩小为原来的
8、1/4)。根据上述思路,我们编写相应的MATLAB程序(具体见附录二),运行后结
此文档下载收益归作者所有