vc++实现图像放大、缩小、平移、旋转、各种哈哈镜变形
这样,我们就得到了变换矩阵,它是上面三个矩阵的级联。那么对于新图像中的每一点,就可以根据对应原图中的点,得到它的灰度。如果超出原图范围,则填成白色。要注意的是,由于有浮点运算,计算出来点的坐标可能不是整数,采用取整处理或插值来处理。
3. 图像缩放
假设x轴放大因子为c, y轴放大因子为d,缩放的变换矩阵为:
x0 y
c0
0 0d 1 00三.实验仪器
1. 计算机; 2. VC++程序;
3. 移动式存储器(软盘、U盘等)。 4. 记录用的笔、纸。
四、 实验报告内容 实验代码:
#include "stdafx.h" #include "cv.h" #include "highgui.h" #include "stdio.h" #include "stdlib.h" #include "math.h"
#define DOWNRESIZE 0 // 缩小 #define q 0.5 //缩小倍数 #define UPRESIZE 1 // 放大 #define z 1.5 //放大倍数 #define HORAO 2 // 水平外凹 #define HORTU 3 // 水平外凸 #define LADDER 4 // 梯形变形 #define TRIANGLE 5 // 三角形变形 #define SSHAPE 6 // S形变形 #define ROTATE 7 // 图片旋转 #define TRANSLATION 8 // 图片平移 #define UNDAFORM 9//波浪形
#define RANGE 100 // 水平外凹或外凸的幅度
0 x10
y 11
1
9)
(