收藏 分享(赏)

图像的几何失真校正.doc

上传人:buyk185 文档编号:6212687 上传时间:2019-04-02 格式:DOC 页数:11 大小:950KB
下载 相关 举报
图像的几何失真校正.doc_第1页
第1页 / 共11页
图像的几何失真校正.doc_第2页
第2页 / 共11页
图像的几何失真校正.doc_第3页
第3页 / 共11页
图像的几何失真校正.doc_第4页
第4页 / 共11页
图像的几何失真校正.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

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

2、mrersize 函数使用由参数 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 imrot

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

4、Nearest-neighbor interpolation) bilinear: 双线性插值(Bilinear interpolation ) bicubic: 双三次插值 (或叫做双立方插值) (Bicubic interpolation) B = imrotate(A,angle,method,bbox) bbox 参数用于指定输出图像属性: crop: 通过对旋转后的图像 B 进行裁剪, 保持旋转后输出图像 B 的尺寸和输入图像 A 的尺寸一样。 loose: 使输出图像足够大, 以保证源图像旋转后超出图像尺寸范围的像素值没有丢失。 一般上这种格式产生的图像的尺寸都要大于源图像的尺寸。

5、3. 最近邻插值算法最简单的插值法是最近邻插值法,也叫零阶插值法。即选择离它所映射到的位置最近的输入像素的灰度值为插值结果。对二维图像,是取待测样点周围4 个相邻像素点中距离最近 1 个相邻点的灰度值作为待测样点的像素值。若几何变换后输出图像上坐标为(x,y)的对应位置为(m,n) 。4. 双线性插值算法双线性插值又叫一阶插值法,它要经过三次插值才能获得最终结果,是对最近邻插值法的一种改进,先对两水平方向进行一阶线性插值,然后再在垂直方向上进行一阶线性插值。插值算法所应用的领域较多,对图像进行缩放处理是比较典型的应用,由于图像像素的灰度值是离散的, 因此一般的处理方法是对原来在整数点坐标上的像

6、素值进行插值生成连续的曲面, 然后在插值曲面上重新采样以获得缩放图像像素的灰度值。缩放处理从输出图像出发,采用逆向映射方法,即在输出图像中找到与之对应的输入图像中的某个或某几个像素,采用这种方法能够保证输出图像中的每个像素都有一个确定值,否则,如果从输入图像出发来推算输出图像,输出图像的像素点可能出现无灰度值的情况。因为,对图像进行缩放处理时输出图像像素和输入图像之间可能不再存在着一一对应关系。四、实验内容1. 自选图像练习使用 MATLAB 图像处理工具箱中的 imresize 函数与imrotate 函数。2. 自选图片,按隔行(列)采样的方法,编写缩小 1/4 的程序。 33. 编写放大

7、长宽各 1.5 倍的程序,分别采用最小近邻插值法与双线性插值法。五、实验结果与分析1. imresize 函数与 imrotate 函数的使用选定图片 football_iverse.jpg,调用函数 imresize 与 imrotate(详见程序附录一) ,得到如下结果(如下图 1 所示):中中中中中中中中中中0.5中中中中中中中1.5中中中中中中中中中中中“中中中“中中4中中中中中45中中中中中图 1 调用函数 imresize 与 imrotate 运行结果截图2. 自选图片,按隔行(列)采样的方法,编写缩小 1/4 的程序。本次选定图片 cameraman.tif(256*256)

8、,先隔行抽样,图像大小变为128*256(缩小为原来的 1/2) ,再隔列取样,图像大小由 128*256 再变为128*128(缩小为原来的 1/4) 。根据上述思路,我们编写相应的 MATLAB 程序(具体见附录二) ,运行后结果如下(见下图 2 所示) 。中 中 中 中5中 中 中 中 中 中 中 中中 中 中 中 中 中 中 中 中图 2 图像采样结果3. 编写放大长宽各 1.5 倍的程序,分别采用最小近邻插值法与双线性插值法。(1)最小近邻插值法根据前面提到的最小近邻插值法的原理,我们将扩大的图像的像素值反映射回原来的图像,找出对应的像素点(可能为分数点) ,将对应分数点上的像素值填

9、充到扩大的图像中。确定分数点的灰度值:从分数点四周的四个整数点中,选择距离分数点最近的整数点的值作为分数点的灰度值。由上编写相应的 MATLAB 程序(详见附录三) ,运行后所得结果如下(如下图 3 所示):中中中中6中中中中中中中中中中中中中中中中中中中中1.5中图 3 最小近邻插值结果(放大后图像出现了模糊的“马赛克”现象)(2)双线性插值法依据前面所述的双线性插值法的原理,我们将扩大的图像的像素值反映射回原来的图像,找出对应的像素点(可能为分数点) ,将对应分数点上的像素值填充到扩大的图像中。确定分数点的灰度值:用分数点周围 4 个邻点的灰度值加权内插作为灰度校正值。根据上述思路,编写相

10、应的 MATLAB 程序(详见附录四) ,运行后所得结果如下(如下图 4 所示):中 中 中 中7中 中 中 中 中 中 中 中 中 中 中 中中 中 中 中 中 中 中 中 中 “中 中 中 “中 中图 4 双线性插值法处理后的结果4. 结果分析做完上述实验,我们通过分析对比,得到如下结论:1)MATLAB 图像处理工具箱中的 imresize 函数和 imrotate 函数可以较为方便地对图像进行放大、缩小、旋转等多种处理操作。2)图像经过几何位置校正后,在校正空间中各像素点的灰度值等于被校正图像对应点的灰度值,而某些像素点可能分布不均匀,不会恰好落在坐标点上。最近邻点法和双线性插值法可以

11、很好的解决非整数点灰度值的校正。3)与最近邻点法相比,双线性插值法几何校正灰度是连续的(与 imresize函数结果比较接近) ,但计算量较大,并且图像轮廓也会较为模糊,会出现比最小近邻插值法更强的“马赛克”效应。8附录:附录一:%调用MATLAB图像处理工具箱中的imresize函数和imrotate函数对图像进行缩小、放大、%旋转变换clc,clear allI=imread(football_iverse.jpg);figure,imshow(I);title(原始 图像);J=imresize(I,0.5);P=imresize(I,1.5);figure,imshow(J);titl

12、e(将原 图像缩小0.5倍);figure,imshow(P);title(将原 图像放大1.5倍);xlabel(观察发现:图像出现了“马赛克“现象);Q=imrotate(I,45);figure,imshow(Q);title(逆 时针旋转45度后的图像);附录二:%对图像进行隔行隔列采样,把原 图像缩小为原图像的1/4clc,clear allI=imread(cameraman.tif);s=size(I);J=zeros(s(1)/2,s(2);%隔行采样for i=1:s(1)/2for j=1:s(2)if mod(i,2)=0J(i,j)=I(2*(i-1)+1,j);els

13、eJ(i,j)=I(2*i-1,j);9endendend%隔列采样T=zeros(s(1)/2,s(2)/2);for i=1:s(1)/2for j=1:s(2)/2if mod(j,2)=0T(i,j)=J(i,2*(j-1)+1);elseT(i,j)=J(i,2*j-1);endendendfigure,imshow(uint8(I);title(原始 图像 );figure,imshow(uint8(J);title(隔行采样后的结果);figure,imshow(uint8(T);title(再隔列采样后的结果);附录三:%最小近邻插 值法clc,clear allI=imrea

14、d(tire.tif);s=size(I);m=1.5*s(1);n=1.5*s(2);J=zeros(m,n);for i=1:mfor j=1:nJ(i,j)=I(round(i/1.5),round(j/1.5);endendfigure,imshow(I);title(原始图像);10figure,imshow(uint8(J);title(最小近邻插值后的图像);xlabel(长和宽各放大为原来的1.5倍);附录四:%双线性插值法clc,clear allI=imread(cameraman.tif);s=size(I);m=1.5*s(1);n=1.5*s(2);J=zeros(m

15、,n);for i=1:m-1for j=1:n-1p=abs(i/1.5-round(i/1.5);q=abs(j/1.5-round(j/1.5);J(i,j)=(1-p)*(1-q)*I(round(i/1.5),round(j/1.5)+.p*(1-q)*I(round(i/1.5),round(j/1.5)+.(1-p)*q*I(round(i/1.5),round(j/1.5)+1)+.p*q*I(round(i/1.5),round(j/1.5)+1);endendfigure,imshow(I);title(原始图像);figure,imshow(uint8(J);title(双线性插值法扩大后的图像);xlabel(图像中出现了模糊的“马赛克“现象);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 图形图像

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报