前言

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐