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

应用案例

相关推荐
EVERSPIN1 分钟前
语音识别芯片的功能与优势有哪些
人工智能·语音识别·语音识别芯片
LuoQuHen3 分钟前
第三章:Agent的三大核心支柱—— 感知、决策、行动
人工智能·ai·agent
心疼你的一切11 分钟前
【矛与盾的博弈:ZLibrary反爬机制实战分析与绕过技术全解析】
人工智能·爬虫·python·网络爬虫
北京软秦科技有限公司14 分钟前
AI报告文档审核助力食品飞检常态化应对:IACheck下的风险防控与质量管控重构
大数据·人工智能·重构
zhangshuang-peta16 分钟前
MCP 在企业架构中的位置:它该放在哪一层?
人工智能·架构·ai agent·mcp·peta
起个名字总是说已存在19 分钟前
github开源AI 拓展工具:Agent Reach
人工智能·github·dreamweaver
MyBFuture26 分钟前
Halcon条形码与二维码识别全攻略
开发语言·人工智能·halcon·机器视觉
老鱼说AI28 分钟前
大模型学习与面试精讲第六期:损失函数篇
人工智能·深度学习·神经网络·学习·机器学习·语言模型
安科瑞小许30 分钟前
零碳园区的“神经网络”——能源数据如何高效传输与监控
人工智能·零碳园区
Codebee35 分钟前
Apex 技能安装过程深度技术揭秘
人工智能