opencv 图像矫正的原理

图像矫正的原理是透视变换,下面来介绍一下透视变换的概念。

听名字有点熟,我们在图像旋转里接触过仿射变换,知道仿射变换是把一个二维坐标系转换到另一个二维坐标系的过程,转换过程坐标点的相对位置和属性不发生变换,是一个线性变换,该过程只发生旋转和平移过程。因此,一个平行四边形经过仿射变换后还是一个平行四边形。

而透视变换是把一个图像投影到一个新的视平面的过程 ,在现实世界中,我们观察到的物体在视觉上会受到透视效果的影响,即远处的物体看起来会比近处的物体小。**透视投影是指将三维空间中的物体投影到二维平面上的过程,这个过程会导致物体在图像中出现形变和透视畸变。**透视变换可以通过数学模型来校正这种透视畸变,使得图像中的物体看起来更符合我们的直观感受。通俗的讲,透视变换的作用其实就是改变一下图像里的目标物体的被观察的视角。

如上图所示,图1在经过透视变换后得到了图2的结果,带入上面的话就是图像中的车道线(目标物体)的被观察视角从平视视角变成了俯视视角,这就是透视变换的作用。

与仿射变换一样,透视变换也有自己的透视变换矩阵:

其中x、y是原始图像点的坐标,x^{\prime}、y^{\prime}是变换后的坐标,a11,a12,...,a33则是一些旋转量和平移量,由于透视变换矩阵的推导涉及三维的转换,所以这里不具体研究该矩阵,只要会使用就行,而OpenCV里也提供了getPerspectiveTransform()函数用来生成该3*3的透视变换矩阵。

相关推荐
Simon_lca4 分钟前
突破合规瓶颈:ZDHC Supplier to Zero(工厂零排放 - 进阶型)体系全攻略
大数据·网络·人工智能·分类·数据挖掘·数据分析·零售
卧蚕土豆17 分钟前
【有啥问啥】Claude Code 安装与使用教程
人工智能
刀法如飞25 分钟前
AI编程时代,为什么35岁以上程序员会更吃香?
人工智能·后端·ai编程
yukai0800837 分钟前
【203篇系列】050 关于量化的一些思考
人工智能
罗小罗同学1 小时前
哈工大团队联合德累斯顿工业大学联合发布医学AI智能体综述,讲述计算病理如何从图像分类任务演变成自主诊段工作流
人工智能·分类·数据挖掘·医学图像处理·医学人工智能·医工交叉·医学ai
wincheshe1 小时前
AI Agent 开发学习 --- 框架开发实践(三)
人工智能·学习
新缸中之脑1 小时前
Autoresearch 代码深度解析
人工智能
love530love1 小时前
OpenClaw 手机直连配置全流程
人工智能·windows·python·智能手机·c#·agent·openclaw
VillanelleS1 小时前
AI工程化之Agent架构
人工智能·架构
余俊晖2 小时前
多模态大模型后训练强化学习训练方法:Shuffle-R1
人工智能·自然语言处理·多模态