基于OpenCV的透视变换

基础概念

透视变换(Perspective Transformation)是仿射变换的一种非线性扩展,是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。

原理:将二维的图片投影到一个三维视平面上,然后再转换到二维坐标下,所以也称为投影映射(Projective Mapping)。

相对仿射变换来说,改变了直线之间的平行关系

透视变换的特点和方法

透视变换相比仿射变换更加灵活,变换后会产生一个新的四边形,但不一定是平行四边形,需要非共线的四个点才能唯一确定

变换后原图中的直线变换后依然是直线

四边形包括了所有的平行四边形,所以透视变换包括了所有的仿射变换

openCV中实现透视变换方法:

首先根据变换前后的四个点用cv.getPerspectiveTransform()生成3×3的变换矩阵

再用cv2.warpPerspective()进行透视变换

函数cv2.warpPerspective()

格式:cv2.warpPerspective(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]])

src: 输入图像

M:大小为3×3的转换矩阵

其他参数含义与cv2.warpAffine()函数中的一致

函数cv2.getPerspectiveTransform()

格式:M=cv2.getPerspectiveTransform(src,dst)

src:原图像中4个点的坐标

dst:原图像中4个点在转换后的目标图像中的对应坐标

应用案例

相关推荐
OidEncoder1 小时前
编码器分辨率与机械精度的关系
人工智能·算法·机器人·自动化
Championship.23.241 小时前
Harness工程深度解析:从理论到实践的完整指南
人工智能·harness
扬帆破浪1 小时前
开源免费的WPS AI 软件 察元AI文档助手:链路 002:executeAssistantFromRibbon 与任务进度窗
人工智能·开源·wps
叶子Talk1 小时前
GPT-Image-2正式发布:文字渲染99%,Image Arena三项第一,AI图像生成彻底变天了
人工智能·gpt·计算机视觉·ai·openai·图像生成·gpt-image-2
不知名的老吴1 小时前
逆转训练针对大语言模型逆转训练的重要性
人工智能·深度学习·语言模型
pingao1413782 小时前
智联未来:4G温湿度传感器如何重塑数据监测新生.态
大数据·网络·人工智能
程序媛小鱼2 小时前
《All in RAG》学习笔记
人工智能
weixin_446260852 小时前
2026年IT技术趋势预测:从AIGC的狂热到Agent生态的底层重塑
人工智能·aigc
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2026-04-24
人工智能·经验分享·深度学习·神经网络·产品运营
AI医影跨模态组学2 小时前
如何将CT影像组学与深度学习特征与肝细胞癌的缺氧-免疫抑制-代谢重编程恶性微环境关联,进一步解释与TACE预后及肿瘤生物学行为的机制联系
人工智能·深度学习·论文·医学·医学影像