opencv 图像矫正的原理

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

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

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

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

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

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

相关推荐
飞哥数智坊8 小时前
初级岗正在消失!1.8亿岗位数据让我看清:AI协同时代已经来了
人工智能
Mintopia9 小时前
☁️ Cloud Code 模型演进的优势:从“本地编译”到“云端智能协作”
前端·人工智能·aigc
abcd_zjq9 小时前
VS2026+QT6.9+ONNX+OPENCV+YOLO11(目标检测)(详细注释)(附测试模型和图像)
c++·人工智能·qt·目标检测·计算机视觉·visual studio
Altair澳汰尔9 小时前
成功案例丨平衡性能与安全的仿真:Altair助力 STARD 优化赛车空间车架设计
大数据·人工智能·仿真·fea·有限元分析·cae
思绪漂移9 小时前
CodeBuddy AI IDE :Skills 模式
ide·人工智能
居7然9 小时前
详解监督微调(SFT):大模型指令遵循能力的核心构建方案
人工智能·分布式·架构·大模型·transformer
KKKlucifer9 小时前
技术漏洞被钻营!Agent 感知伪装借 ChatGPT Atlas 批量输出虚假数据,AI 安全防线面临新挑战
人工智能·安全·chatgpt
oil欧哟9 小时前
AI 的环保账,训练一个模型要用多少电?
人工智能·chatgpt
执笔论英雄10 小时前
【大模型训练】roll 调用megatron 计算损失函数有,会用到partial
人工智能
小蜜蜂爱编程10 小时前
deep learning简介
人工智能·深度学习