opencv学習ログ21-アフィン変換(ポイント間の対応を定義する)

序文

この記事では、主に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 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.コードは直接実行できます。理解できない場合は、メッセージを残してください。

おすすめ

転載: blog.csdn.net/taiyuezyh/article/details/122799984