0
点赞
收藏
分享

微信扫一扫

仿射矩阵的计算

三千筱夜 2022-04-08 阅读 94
图像处理

学习资料参考:


方程法

由仿射矩阵可知,该矩阵中有6个未知数,所以一共需要六个方程来解6个未知数.(点击访问仿射矩阵)
那么也就是需要三个坐标转换前与转换后的相应坐标值才能构造出仿射矩阵。库函数提供了如何求解的办法,我们只需提供三个坐标点(前后共6个)即可。
示例

#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main() {
	//原位置坐标
	Point2f src[] = { Point2f(0,0),Point2f(200,0),Point2f(0,200) };
	//变换后的坐标
	Point2f dst[] = { Point2f(0,0),Point2f(200,0),Point2f(0,100) };
	//计算仿射矩阵
	Mat A = getAffineTransform(src, dst);
	cout << A;
	return 0;
}

计算结果
在这里插入图片描述

矩阵法

通俗讲,即使用矩阵乘法计算仿射矩阵。
但此方法需要我们自己计算出缩放矩阵或平移矩阵或旋转矩阵,比较繁琐。

举报

相关推荐

0 条评论