前言
这篇文章主要讲述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 pts1[] = {
cv::Point2f(100,100),
cv::Point2f(150,100),
cv::Point2f(300,50),
cv::Point2f(10,30)
};
//变换后的三点坐标
const cv::Point2f pts2[] = {
cv::Point2f(350,50),
cv::Point2f(250,100),
cv::Point2f(400,200),
cv::Point2f(500,300)
};
//透视变换行列式计算
const cv::Mat perspective_matrix = cv::getPerspectiveTransform(pts1, pts2);
//变换
cv::warpPerspective(srcMat, dstMat, perspective_matrix, srcMat.size());
cv::imshow("src", srcMat);
cv::imshow("dst", dstMat);
cv::waitKey(0);
}
总结
1.代码可以直接运行,如有不懂请留言哦。