图像的几何变换及其matlab实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理论文--图像的几何变换及其MATLAB实现

学院:理学院专业:信息与计算科学

班级:信计1012 姓名:

学号:任课老师:

集美大学理学院

二○一三年十一月二十八日

目录

摘要 (1)

一、何谓数字图像处理 (1)

二、数字图像几何变换简介 (1)

三、MATLAB图像处理工具介绍 (1)

四、图像几何变换的MATLAB实现 (2)

4.1图像几何变换的概述 (2)

4.2 图像的平移变换 (2)

4.3 图像的比例缩放 (4)

4.4 图像的镜像变换 (5)

4.5 图像的旋转变换 (7)

4.6 图像的剪取 (8)

五、图像几何变换的应用以及技术局限 (10)

参考文献 (10)

摘要:图像变换就是把图像从空间域转换到变换域(如频率域)的过程。图像变换可以使人们从另一角度来分析图像信号的特性,利用变换域中特有的性质,使图像处理过程更加简单、有效。图像变换是许多图像处理与分析技术的基础,而几何变换是图像变换中最基础也是应用最广泛的技术之一,本文基于MATLAB的图像处理工具,通过改变图像像素的空间位置或估算新空间位置上的像素值,从而实现图像的平移、缩放、旋转、镜像变换、图像插值等几何变换。

关键字:图像变换、几何变换、MATLAB

一、何谓数字图像处理

数字图像处理(Digital Image Processing),就是利用数字计算机或则其他数字硬件,对从图像信息转换而得到的电信号进行某些数学运算,以提高图像的实用性。例如从卫星图片中提取目标物的特征参数,三维立体断层图像的重建等。总的来说,数字图像处理包括点运算、几何处理、图像增强、图像复原、图像形态学处理、图像编码、图像重建、模式识别等。目前数字图像处理的应用越来越广泛,已经渗透到工业、医疗保健、航空航天、军事等各个领域,在国民经济中发挥越来越大的作用。

二、数字图像几何变换简介[3]

今天数字技术时代,我们身边接触到很多的数字图像,而对数字图像的处理往往会遇到需要对图像进行几何变换的一些问题。图像几何变换是图像显示技术中的一个重要组成部分。在图像几何变换中主要包括图像的缩放、旋转、移动、剪取等内容。无论照片、图画、书报、还是医学X光和卫星遥感图像等领域都会用到这些技术。通过图像的几何变换技术,可以显著提高图像处理效率和质量,为更进一步的图像处理奠定基础。

三、MATLAB图像处理工具介绍[1]

MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值

计算的软件。它绝大多数的运算都是通过矩阵这一形式进行的,这一特点也就决定了MATLAB 在处理数字图像上的独特优势。在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,二维图像进行均匀采样,就可以得到一幅离散化成M ×N 样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。而MATLAB 的长处就是处理矩阵运算,因此用MATLAB 处理数字图像非常的方便。我们可以应用MATLAB 的图像处理工具包实现图像平移、缩放和旋转等几何变换。

图像处理工具包是由一系列支持图像处理操作的函数组成的。所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT 变换等) 、图像分析和统计、二值图像操作等。 MATLAB 在图像中的应用都是由相应的MATLAB 函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可实现图像的几何变换。

四、图像几何变换的MATLAB 实现[2]

4.1、图像几何变换的概述

图像几何变换的实质是改变像素的空间位置或估算新空间位置上的像素值。图像几何变换的一般表达式:

[,][(,),(,)]u v X x y Y x y =

其中,[,]u v 为变换后图像像素的笛卡尔坐标,[,]x y 为原始图像中像素的笛卡尔坐标。这样就得到了原始图像与变换后图像的像素的对应关系。如果(,),(,)X x y x Y x y y ==则有

[,][,]u v x y =即变换后图像仅仅是原图像的简单拷贝。

4.2、图像的平移变换

图像平移就是将图像中所有的点都按照指定的平移量水平、垂直移动。设(x0,y0)为原图像上的一点,图像水平平移量为tx ,垂直平移量为ty ,则平移后点(x0,y0)坐标将变为(x1,y1)。

显然(x0,y0)和(x1,y1)的关系如下:

⎩⎨

⎧+=

+=

ty

y y tx x x 0101

用矩阵表示如下:

⎥⎥⎥⎦

⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1001001001111y x ty tx y x 对该矩阵求逆,可以得到逆变换:

⎥⎥

⎥⎦

⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1111001001100y x ty tx y x 即⎩⎨⎧-=-=

ty

y y tx x x 1010

这样,平移后的图像上的每一点都可以在原图像中找到对应的点。例如,对于新图中的(0,0)像素,代入上面的方程组,可以求出对应原图中的像素(-tx ,-ty )。如果tx 或ty 大于0,则(- tx ,- ty )不在原图中。对于不在原图中的点,可以直接将它的像素值统一设置为0或则255(对于灰度图就是黑色或白色)。同样,若有点不在原图中,也就说明原图中有点被移出显示区域。如果不想丢失被移出的部分图像,可以将新生成的图像宽度扩大|tx |,高度扩大| ty |。 Matlab 实现

J=imread('E:\image3.jpg');

figure; subplot(1,3,1); imshow(J); title('原图');

s=translate(strel(1),[50,-50]); J1=imdilate(J,s); subplot(1,3,2); imshow(J1);

title('左下方平移');

s=translate(strel(1),[50,50]); J2=imdilate(J,s); subplot(1,3,3); imshow(J2);

title('右下方平移'); 运行结果:

相关文档
最新文档