vc++实现图像放大、缩小、平移、旋转、各种哈哈镜变形
实验4 图像几何变换—哈哈镜制作
一. 实验目的
熟悉图像的基本格式和数据结构。掌握图像几何变换的原理。 二.实验原理
1. 图像平移
将图像中所有的点都按照指定的平移量水平、垂直移动。设(x0, y0)是原图像上的一点,图像水平平移量为tx,垂直平移量为ty,则平移后点(x0, y0)的坐标变为(x1, y1)。
(x0, y0)与(x1, y1)之间的关系为:
以矩阵的形式表示为:
x1 x0 tx
y y t0y 1
(1)
x1 10tx x0 y 01ty y0 1
1 001 1
(2)
它的逆变换:
x0 10 tx x1 y 01 t0y y1 1 001 1
(3)
平移后的图像中每个像素的颜色是由原图像中的对应点颜色确定的。图像平移处理流程如图1所示。
2. 图像旋转
通常是以图像的中心为圆心旋转,按顺时针方向旋转,如图2所示。 旋转前:
旋转a角度后:
x0 rcosb
y rsinb 0
(4)
x1 rcos b a rcosbcosa rsinbsina x0cona y0sinay1 rsin b a rsinbcosa rcosbsina x0sina y0cosa
(5)
以矩阵的形式表示为: