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

应用案例

相关推荐
A55566677787892 分钟前
2026国产OpenClaw替代方案商深度测评:政务级、轻量化、高性能、私有化厂商推荐
人工智能
今天AI了吗5 分钟前
【AI智能体】Hermes Agent 从部署到项目实战操作详解
java·人工智能·python·milvus
AI人工智能+7 分钟前
学位证书识别技术通过计算机视觉、自然语言处理和大模型推理相结合,实现了高精度、高效率的证书数字化处理
深度学习·计算机视觉·自然语言处理·ocr·学位证书识别
六边形战士DONK14 分钟前
16-估计量的评选标准[无偏性,有效性,相合性,均方误差准则]
人工智能·机器学习·概率论
心运软件24 分钟前
基于机器学习的智能邮件分类系统:从数据采集到模型部署全流程实战
人工智能·python·算法·随机森林·机器学习·分类·scikit-learn
苏灿烤鱼26 分钟前
GitHub Trending 榜首|GitHub #1 拆解|为什么「持久工作台」比临时沙箱更值得关注?(08.06)技术拆解
人工智能·typescript·agent
武子康27 分钟前
MCP 无状态核心之后:身份、任务、幂等与审计状态到底放在哪里
人工智能
gqk0130 分钟前
WINDOWS下搭建深度学习推理+训练环境
人工智能
D2aZXN3FhrDa7e21233 分钟前
中小企业对比美诚等获客系统,依据自动分级与销售人力节省需求
大数据·人工智能·佛山美诚科技有限公司
七牛开发者34 分钟前
“打透” Harness:用 GitHub Copilot 跑通从原型、规划到实现与评审的 AI Coding 工作流
人工智能·github·copilot