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

应用案例

相关推荐
前端不太难12 小时前
如何设计 Agent 的“最小权限原则”
人工智能·状态模式·agent
JAVA学习通12 小时前
AI 工作流编排系统的任务拆分、重试与观测:2026年工程实践深度解析
java·人工智能·spring
cl1314131412 小时前
烟气测量格恩朗流量计选型指南
大数据·网络·人工智能·产品运营
xixixi7777712 小时前
国内首家“AI+量子”实体公司成立:量智开物发布“追风”“扁鹊”,开启下一代计算文明大门
大数据·网络·人工智能·安全·ai·科大讯飞·量子计算
武帝为此12 小时前
【相关性分析综述】
人工智能·数学建模
ai产品老杨12 小时前
深度解析:基于 Docker 与异构计算的 AI 视频管理平台架构实现(支持 GB28181/RTSP 与源码交付)
人工智能·docker·音视频
淡海水12 小时前
【AI模型】概念-MCP
人工智能·大模型
BizViewStudio12 小时前
甄选2026:AI重构新媒体代运营行业的三大核心变革与落地路径
大数据·人工智能·新媒体运营·媒体
csdn_aspnet12 小时前
AI训练产区图:GPU算力梯队与任务匹配指南,构建AI模型训练中的一线/二线算力资源标准图谱
人工智能·ai·gpu算力·训练
liliangcsdn12 小时前
VS Code + Continue编程插件示例
人工智能