前言
这篇文章中主要讲述opencv中仿射变换的进一步应用。
一、代码
//第三题 仿射变换 旋转缩放(定义点之间对应关系)
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
cv::Mat dstMat;
cv::Mat srcMat = imread("C://Users//john//Desktop//1.jpg",1);
//变换前的三点坐标
const cv::Point2f src_pt[] = {
cv::Point2f(100,100),
cv::Point2f(150,100),
cv::Point2f(300,50)};
//变换后的三点坐标
const cv::Point2f dst_pt[] = {
cv::Point2f(350,50),
cv::Point2f(250,100),
cv::Point2f(400,200) };
//计算放射矩阵
const cv::Mat affine_matrix = cv::getAffineTransform(src_pt, dst_pt);
cv::warpAffine(srcMat, dstMat, affine_matrix, srcMat.size());
cv::imshow("src", srcMat);
cv::imshow("dst", dstMat);
cv::waitKey(0);
}
总结
1.代码可以直接运行,如有不懂请留言哦。