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

应用案例

相关推荐
Akamai中国几秒前
无服务器计算架构的优势
人工智能·云计算·云服务
酌沧1 分钟前
大模型量化技术全解析
人工智能·python·算法
进击monkey6 分钟前
2025年企业级AI知识库深度横评:PandaWiki如何以开源生态重构知识管理范式
人工智能·开源·开源软件
数据门徒8 分钟前
《人工智能现代方法(第4版)》 第11章 自动规划 学习笔记
人工智能·笔记·学习
老蒋新思维9 分钟前
创客匠人万人峰会启示:AI+IP 生态重构,知识变现进入 “共生增长” 时代
网络·人工智能·网络协议·tcp/ip·重构·创始人ip·创客匠人
nwsuaf_huasir10 分钟前
深度学习1.4-pytorch安装
人工智能·pytorch·深度学习
MobotStone11 分钟前
AI使用的10种最佳实践:提高你的工作效率和输出质量
人工智能·架构
沫儿笙11 分钟前
安川焊接机器人氩气节气秘诀
人工智能·机器人
AI浩12 分钟前
通过因果视觉提示实现单源域泛化目标检测
人工智能·目标检测·目标跟踪
CoookeCola13 分钟前
离线视频水印清除工具:手动选定位置(ROI)与强制修复功能详解,支持命令行ROI定位
网络·图像处理·opencv·计算机视觉·开源·github·音视频