仿射变换矩阵表示,如下图,来源于《数字图像处理》。
分析:
以下代码,主要就是两个矩阵相乘,其中point表示图片中的[ v , w , 1 ],而matrix0表示T。其中,point和matrix0矩阵中的值是指im读取图像的x、y坐标值。逻辑就是,将原图im中的坐标,经过point和matrix0叉乘后得到的新坐标值result,再将im旧的坐标值映射到新的图像im3中显示。
注意:以下代码,im读取的图像尺寸不能够太大,否则无法在im3的尺寸中显示,测试读取的图像大小63X92。
直接看代码吧,以下代码的主要功能就是利用OpenCV的Mat练习二维图像的仿射变换,
//测试图像的变换矩阵
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<iostream>
using namespace cv;
using namespace std;
Mat im = imread("D://dog2.png");//
Mat i