视觉SLAM14精讲——相机与图像3.2

2024-06-12 10:28

本文主要是介绍视觉SLAM14精讲——相机与图像3.2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

视觉SLAM14精讲

  1. 三维空间刚体运动1.0
  2. 三维空间刚体运动1.1
  3. 三维空间刚体运动1.2
  4. 李群与李代数2.1
  5. 相机与图像3.1

视觉SLAM14精讲——相机与图像3.2

  • 视觉SLAM14精讲
      • 畸变
        • 有关重投影误差
        • 缩放
        • 实际使用

畸变

相机畸变是相机镜头光学缺陷所致的缺陷, 在光学领域这种问题是没办法百分百被消除的。在标定过程中,通过对棋盘格角点的识别,从而计算得到畸变参数,这些畸变参数能将被扭曲的点重新映射会原本的位置。纠正后的图像,直线横平竖直。

有关重投影误差

在标定过程中最重要的指标是重投影误差。但是这个数据是一个统一的最终指标。简单来说它既不够直观,也不能真正反映整体的效果。

  • 首先,重投影误差不能反映局部缺陷。 畸变矫正存在局部缺陷比较大的情况,比如其余区域的畸变控制的比较好,总体的重投影误差可以呈现出低于标准的水平。但实际上,我们甚至可以容忍整体都携带一些程度较低的畸变,而使得图像变得平滑可用,也不会用部分畸变严重到物体扭曲的结果。这些局部扭曲会导致AI识别、分割等功能完全失效。
  • 其次,重投影误差不够直观。 很难描述,重投影误差在2,1, 以及0.5个像素时,图像所呈现的效果。在这里有个小窍门,如果是批量不大的标定结果,建议直接上尺子量屏幕,衡量出现在图像中的直线的平直程度。买了曲面屏的不要来找我。
缩放

上一章讨论了图像缩放时对内参的影响。好消息是图像缩放对畸变参数不造成影响。原因在原著5.1.2里面说的很清楚:

[ x d i s t o r t e d , y d i s t o r t e d ] T [x_{distorted}, y_{distorted}]^T [xdistorted,ydistorted]T是即便后点的归一化坐标。

也就是说,畸变矫正的操作是在去除了内参影响之后进行的。图像缩放的影响已经在内参矩阵层面得到消除,对应的畸变参数不发生变化。

实际使用

关于畸变的实际使用,主要讲解opencv接口。不同标定算法,对应不同的长度。不同相机模型,对应不同接口。

  • 对于接口。笔者推荐直接使用官方英文文档https://docs.opencv.org/,不要使用CXDN的二手中文贴。这些接口都是较早在opencv中集成,所以不要太在意版本,随便点一个进入。我们随便选一个比较新的。
    在这里插入图片描述
    有上方输入initUndistortRectifyMap,我们会看到三个选项:
    在这里插入图片描述
    后面两个对应的是鱼眼相机以及全景相机。这里不得不提到,如果是120度以内的鱼眼镜头,使用传统5个参数以内的算法(第一个函数),还是可以标出来的。到140度就会有较大的失败率。此时最好按照鱼眼的方法进行标定以及畸变矫正。

点击进入后,英语练一练,无需多说。函数的输入输出,不同语言的版本,甚至原理公式推导以及相关文献均有详细解释。系列往后也会一直使用该文档对opencv相关的内容进行讲解。
在这里插入图片描述
在这里插入图片描述

这篇关于视觉SLAM14精讲——相机与图像3.2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053950

相关文章

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

c/c++的opencv图像金字塔缩放实现

《c/c++的opencv图像金字塔缩放实现》本文主要介绍了c/c++的opencv图像金字塔缩放实现,通过对原始图像进行连续的下采样或上采样操作,生成一系列不同分辨率的图像,具有一定的参考价值,感兴... 目录图像金字塔简介图像下采样 (cv::pyrDown)图像上采样 (cv::pyrUp)C++ O

Python+wxPython构建图像编辑器

《Python+wxPython构建图像编辑器》图像编辑应用是学习GUI编程和图像处理的绝佳项目,本教程中,我们将使用wxPython,一个跨平台的PythonGUI工具包,构建一个简单的... 目录引言环境设置创建主窗口加载和显示图像实现绘制工具矩形绘制箭头绘制文字绘制临时绘制处理缩放和旋转缩放旋转保存编

python+OpenCV反投影图像的实现示例详解

《python+OpenCV反投影图像的实现示例详解》:本文主要介绍python+OpenCV反投影图像的实现示例详解,本文通过实例代码图文并茂的形式给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前言二、什么是反投影图像三、反投影图像的概念四、反向投影的工作原理一、利用反向投影backproj

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

OpenCV图像形态学的实现

《OpenCV图像形态学的实现》本文主要介绍了OpenCV图像形态学的实现,包括腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽运算和黑帽运算,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起... 目录一、图像形态学简介二、腐蚀(Erosion)1. 原理2. OpenCV 实现三、膨胀China编程(

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境