基于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个点在转换后的目标图像中的对应坐标

应用案例

相关推荐
非著名架构师6 分钟前
2026年元旦气象营销策略:天气数据如何精准驱动节日销售增长与商业决策
人工智能·风电功率预测·光伏功率预测·高精度天气预报数据·galeweather.cn·高精度气象
发光发热吧10 分钟前
2025年终总结:AI浪潮下的一年
人工智能·agent·年终总结
数据猿13 分钟前
【金猿人物展】海尔智慧家尹德帅:以数据智能重构智慧家庭生态,引领场景品牌数字化转型新范式
大数据·人工智能·重构
想要成为计算机高手23 分钟前
VLA中人类数据迁移到机器人后的涌现 -- physical intelligence -- 2025.12.16
人工智能·机器人·具身智能·vla
路人与大师28 分钟前
大规模多变量AutoML调参实验报告
人工智能·深度学习·机器学习
MoonBit月兔29 分钟前
生态影响力持续提升,MoonBit 登 2025 中国技术品牌影响力榜单
大数据·人工智能·ai编程·moonbit
2501_9452921732 分钟前
AI证书的十字路口:政策变动后,国际通行证正在贬值吗?
人工智能
城市直通车1 小时前
聚焦产业落地与生态共建小拼AI携手火山引擎共推AIGC电商智能化升级
人工智能·aigc·火山引擎
傻啦嘿哟2 小时前
深度学习破解复杂验证码:CNN实战指南
人工智能·深度学习·cnn
人工智能培训2 小时前
深度学习—卷积神经网络(4)
人工智能·深度学习·神经网络·机器学习·cnn·dnn