opencv学习日志22--投影变换

前言

这篇文章主要讲述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.代码可以直接运行,如有不懂请留言哦。

猜你喜欢

转载自blog.csdn.net/taiyuezyh/article/details/122800008