APP下载

基于VC编程的数字图像几何变换

2015-05-30王力涛庄春晓王秋成

科技创新与应用 2015年17期
关键词:平移旋转数字图像

王力涛 庄春晓 王秋成

摘 要:数字图像处理是摄影测量的基础,图像几何变换是图像处理最基本的内容。文章就利用VC编程实现图像的平移、旋转、缩放的原理、算法和实现过程进行详细论述。

关键词:VC;数字图像;平移;旋转;缩放

前言

摄影测量与遥感所获取数字影像,尤其是近景摄影测量采用非量测相机获取的影像,不能直接应用于测量,首先需要经过图像处理,形成满足测量要求的图像。

图像几何变换是图像处理的基础。经过几何变换,使图像易于处理,有利于特征提取和对图像信息的理解。

1 原理介绍

1.1 图像平移

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

(x0,y0)与(x1,y1)之间的关系为:x1=x0+tx;y1=y0+ty。

平移后图像上的一点是由原图像上某点经过平移得到的,因此平移后图像中每个像素的颜色是由原图像中对应像素颜色确定的。如新图中的(0,0)点的颜色和其在原图中的对应点(-tx,-ty)处的一样。

1.2 图像旋转

图像旋转通常是以图像的中心为圆心,按顺时针方向旋转。

设旋转前一点坐标(x0,y0),旋转a 角度后对应点坐标(x1,y1),则以矩阵的形式表示:

1.3 图像缩放

假设放大因子为ratio,缩放的变换矩阵为:

由于放大图象时产生了新的象素,缩小时合并了像素,变换后图像上点与原图点不存在一一对应的关系,所以采用的做法是找与之最临近的点。

2 算法设计

2.1 图像平移

图像几何变换都是基于像素处理的。

首先打开原始图像,获取图像信息。

第二步设置水平平移量和垂直平移量。根据平移量和原图像高度宽度,计算平移后图像的宽度和高度:

NWidth=lWidth+(long)fXMove;NHeight=lHeight+(long)fYMove。

第三步采用行列循环方式,计算新图像中每个像素对应于原图像的像素,将原图像的像素灰度值或RGB颜色值赋值给新图像的像素。对于原图像中没有的对应点的像素,将其灰度值设为0(白色)。

2.2 图像旋转

首先打开原始图像,获取图像信息,包括图像的高度、宽度、调色板或者RGB值等信息。

第二步因为图像旋转采用以图像中心为原点的坐标系,因此首先进行坐标转换,计算原图四角点在以图像中心为原点的旋转坐标系中的坐标,并根据旋转角度计算旋转后图像四角坐标,利用旋转后图像四角点计算新图像高和寬。

第三步采用行列循环方式,计算新图像中每个像素对应于原图像的像素,将原图像的像素灰度值或RGB颜色值赋值给新图像的像素。对于原图像中没有的对应点的像素,将其灰度值设为0(白色)。

2.3 图像缩放

首先打开原始图像,获取图像信息,包括图像的高度、宽度、调色板或者RGB值等信息。

第二步设置缩放参数,并根据原图像宽、高计算经过缩放后的图像的宽、高。

第三步采用行列循环方式,计算新图像中每个像素对应于原图像的像素,将原图像的像素灰度值或RGB颜色值赋值给新图像的像素。对于原图像中没有的对应点的像素,将其灰度值设为0(白色)。算法与平移和旋转类似,在此不在详述。

3 实现方法与过程

(1)创建一个MFC多文档工程,并设置滚动视图模式。

(2)在Doc类中声明一个HDIB类型的的成员变量m_hDIB,并利用ClassWind类向导为Doc类添加OnOpenDocument和OnSaveDocument两个函数,添加代码,调用DIB.dll中封装好的open和save函数,在OnDraw函数中调用Draw(pDC,pDoc->m_hDIB),实现图像读取和保存功能。

(3)添加菜单“平移”“旋转”“缩放”,并为菜单添加相应的对话框资源,用以设置相关参数。利用ClassWind类向导为各个菜单添加消息处理函数,为每个对话框添加对话框类。

(4)在对话框类中添加相应参数变量并初始化。为每个菜单消息处理函数编写函数体,使之实现相应功能。

参考文献

[1]孙家柄.遥感原理与应用[M].武汉:武汉大学出版社,2006.

[2]王育坚.Visual C++面向对象编程教程[M].北京:清华大学出版,2006.

[3]贾永红.数字图像处理[M].武汉:武汉大学出版社,2004.

[4]吕凤军.数字图像处理编程入门[M].北京:清华大学出版社,1999.

猜你喜欢

平移旋转数字图像
ARGUS-100 艺术品鉴证数字图像比对系统
浅谈中学平移和旋转内容的教材对比
《旋转》单元测试题(二)
《旋转》单元测试题(一)
后外侧加后内侧入路治疗旋转加垂直暴力引起的三踝骨折46例
刍议中国古典舞旋转的特性与训练方法
合理运用多媒体,构建数学高效课堂
基于块效应测度的JPEG数字图像盲取证
数字图像修复在图像压缩上的应用
基于DirectShow的便携式X射线数字图像采集的实现