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

应用案例

相关推荐
JAI科研2 分钟前
CT重建(一) | NeRF 原理详解
人工智能·深度学习·计算机视觉·transformer·nerf
ting94520002 分钟前
深度拆解|1752vc Pitch Deck Analyzer 底层技术架构与核心算法原理
人工智能·算法·架构
2601_949950636 分钟前
练题簿小程序的 4 个功能,把学习资料变成题库
人工智能·小程序·刷题·练习·小程序推荐
归秋14217 分钟前
深度解读Work Agent长程任务拆解与执行的底层逻辑
大数据·人工智能
yukai0800827 分钟前
【203篇系列】055 十个月Agent变革回顾
人工智能
陈工大模型27 分钟前
2026年9月AI可见度监测工具横评:从采样一致性与中立性出发的技术选型笔记
大数据·人工智能·笔记
海宇数据30 分钟前
零信任架构实战:基于海宇身份证OCR构建自动化证照采集网关
人工智能·架构·自动化·ocr
一只桃子~33 分钟前
Ai大模型数据标注与质检评测面试题
人工智能
枯木◊靠推文躺平版36 分钟前
2026企业AI办公工具选型全指南
大数据·人工智能
地理探险家39 分钟前
图片中的目标如何定位和计数?从数据检查到模型预测的完整实践
人工智能·深度学习·数据集