opencv学習ログ22--射影変換

序文

この記事では、主にopencv学習ログでの射影変換の使用について説明します。

1.プロジェクショントランスフォーメーション

//第四题 投影变换
#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