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

应用案例

相关推荐
J2虾虾3 分钟前
Spring AI Alibaba文档
java·人工智能·spring
Mr数据杨4 分钟前
【CanMV K210】传感器实验 U 型光电传感器遮挡检测与 LED 提示
人工智能·硬件开发·canmv k210
向量引擎5 分钟前
当搜索开始替人整理答案:我重新理解了向量检索和 API 中间层
人工智能·gpt·aigc·ai编程·ai写作·key·agi
春日见10 分钟前
五分钟入门 强化学习---DQN(Deep Q Net)算法与实现
人工智能·python·深度学习·算法·microsoft·机器学习
赤龙ERP13 分钟前
赤龙一周观察 · 2026年5月第五周
人工智能
hnult20 分钟前
从AI命题到九重监考体系:考试云一站式竞赛答题平台解决方案
人工智能
完成大叔23 分钟前
模块二,Agent规划模式的四个工具思考
人工智能
Elastic 中国社区官方博客27 分钟前
我们如何在 Elasticsearch Serverless 上将向量搜索吞吐量提升一倍
大数据·数据库·人工智能·elasticsearch·搜索引擎·云原生·serverless
xzzd_jokelin27 分钟前
公司AI开发痛点解析:多人+AI辅助 协同开发?
人工智能·机器学习·ai·ai编程·cloud·codex
阿洛学长28 分钟前
MoneyPrinterTurbo 深度解析与部署实战:AI 一键短视频生成,从源码到上线全攻略
人工智能·音视频