opencv 透视变换

opencv 透视变换:

cv::getPerspectiveTransform()
C++接口其调用形式如下:

Point2f src[4], dst[4];
src[0].x = ····
····(赋值)

cv::Mat cv::getPerspectiveTransform( // 返回透视变换矩阵
		const cv::Point2f* src, // 源图像四个顶点坐标(点数组)
		const cv::Point2f* dst // 目标图像上四个顶点的坐标(点数组)
	);

//或者
Mat getPerspectiveTransform( InputArray src, InputArray dst );

具体运算原理:
https://blog.csdn.net/guduruyu/article/details/72518340

在获得透视变换矩阵后,即可使用与cv::warpPerspective()进行透视变换,其调用形式如下:

void cv::warpPerspective(
		cv::InputArray src, // 输入图像
		cv::OutputArray dst, // 输出图像
		cv::InputArray M, //  变换矩阵
		cv::Size dsize, // 目标图像大小
		int flags = cv::INTER_LINEAR, // 插值方法
		int borderMode = cv::BORDER_CONSTANT, // 外推方法
		const cv::Scalar& borderValue = cv::Scalar() //常量边界时使用
	);

opencv 透视变换_第1张图片

你可能感兴趣的:(opencv)