视野如何改变立体视觉中的深度估计?

2023-11-22

我正在尝试估计带有两个摄像头的立体系统的深度。我使用的简单方程是:

           Baseline*Focal
Depth = ----------------------
             Disparity

两个摄像头的视野不会改变允许的最大深度? 它只改变可测量的最小深度?


在顶端,可测量的深度受到您使用的相机分辨率的限制,这反映在视差中。随着深度变大,视差趋于零。视场越大,深度越低,视场角实际上为零。因此,更大的视野会降低可测量的最大深度,但您可以通过使用更高分辨率的相机进行一定程度的补偿。

澄清一下:您应该注意(如果您做得正确)您会以像素为单位测量视差,然后将其转换为米(或如下我所做的毫米)。完整的公式是:

          Baseline * Focal length
Depth = ----------------------------
        Pixel disparity * Pixel size

假设您有以下设置:

Baseline (b) = 8 cm (80 mm)
Focal length (f) = 6.3 mm
Pixel size (p) = 14 um (0.014 mm)

您可以测量的最小视差是 1 像素。根据已知的数字,这可以翻译为:

Depth = (80*6.3)/(1*0.014) = 36,000 mm = 36 m

所以在这种情况下,这就是你的上限。请注意,您的测量在此范围内非常不准确。下一个可能的视差(2 个像素)发生在 18m 的深度,下一​​个(3 个像素)发生在 12m 的深度,依此类推。将基线加倍将使范围加倍,达到 72m。将焦距加倍也会使范围加倍,但请注意,两者都会对短端产生负面影响。您还可以通过减小像素大小来增加最大深度。

当像素尺寸为 0.014 毫米时,您可能谈论的是水平分辨率约为 1024 像素的 CCD,即 CCD 宽度约为 14.3 毫米。如果将同一区域中的像素数量加倍,您的最大范围就会加倍,而不会在近端丢失任何东西(因为那里的限制是由基线和焦距决定的,它们保持不变)。

This很好地概述了立体视觉深度测量的权衡。 和本文维基百科上有一些关于像素大小、CCD 大小、焦距和视场之间关系的好信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

视野如何改变立体视觉中的深度估计? 的相关文章

  • 如何在opencv python中为图像添加边框

    如果我有如下图所示的图像 如何在图像周围添加边框 以便最终图像的整体高度和宽度增加 但原始图像的高度和宽度保持在中间 下面的代码添加了一个大小恒定的边框10像素到原始图像的所有四个边 对于颜色 我假设您想要使用背景的平均灰度值 这是我根据图
  • 在加载“cv2”二进制扩展期间检测到递归

    我有一个小程序 在 pyinstaller 编译后返回 opencv 错误 但无需编译即可工作 我在 Windows 10 上使用 Python 3 8 10 Program 导入 pyautogui将 numpy 导入为 np导入CV2
  • 曲线/路径骨架二值图像处理

    我正在尝试开发一个可以处理图像骨架的路径 曲线的代码 我想要一个来自两点之间骨架的点向量 该代码在添加一些点后结束 我没有找到解决方案 include opencv2 highgui highgui hpp include opencv2
  • 无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开“.mp4”视频文件

    我目前正在进行一个涉及读取 mp4 视频文件的项目 我遇到的问题是它在Windows 7机器上使用Python 2 7 32位 OpenCV 2 4 3 cv2 pyd 代码片段如下 try video cv2 VideoCapture v
  • opencv形态扩张滤波器作为最大滤波器

    就像中值滤波器的定义一样 我可以将 最大滤波器 定义为局部窗口 例如dst x y max 3x3 局部窗口像素 但我在opencv中找不到这样的过滤器 最接近的是 dilate 函数 然后我使用 dilate 函数的默认配置 但结果不正确
  • OpenCV 3 中的 FLANN 错误

    我运行的是 Ubuntu 14 04 我正在尝试使用 openCV 3 运行 FLANN 但出现错误 下面的所有内容都是通过使用 AKAZE 和 ORB 进行尝试的 但代码来自我尝试使用 ORB 的情况 我使用 ORB 来查找描述符和关键点
  • 如何将输出视频保存到 OpenCV 中的文件中

    我想将输出视频保存到文件中而不是显示它并尝试使用 cvcaptureimage 但仍然无法获得结果 include
  • BASH 脚本编译多个 C++ 文件 - OpenCV

    请参见在C 和OpenCV中调用其他文件中的函数 https stackoverflow com questions 24442836 call functions in other files in c and opencv 对于最初的问
  • OpenCV Visual Studio ntdll.dll

    我尝试在 Visual Studio 2013 上使用 OpenCV 2 4 10 创建一个项目 但由于以下异常 到目前为止我运气不佳 请建议帮助 TIA letstryitonemoretime exe Win32 Loaded C Us
  • 检查图像中是否有太薄的区域

    我正在尝试验证雕刻机的黑白图像 更多的是剪贴画图像 不是照片 我需要考虑的主要事情之一是区域的大小 或线条的宽度 因为机器无法处理太细的线条 所以我需要找到比给定阈值更细的区域 以此图为例 竖琴的琴弦可能太细而无法雕刻 我正在阅读有关 Ma
  • 从图像坐标获取对象的世界坐标

    I have been following this http docs opencv org modules calib3d doc camera calibration and 3d reconstruction html docume
  • OpenCV IP 相机应用程序崩溃 [h264 @ 0xxxxx] 访问单元中缺少图片

    我在 cpp 中有一个 opencv 应用程序 它使用 opencv 的简单结构捕获视频流并将其保存到视频文件中 它与我的网络摄像头完美配合 但是 当我运行它从 IP 摄像机捕获流时 它可能会在大约十秒后崩溃 我的编译命令是 g O3 IP
  • 如何使用 Python 裁剪图像中的矩形

    谁能给我关于如何裁剪两个矩形框并保存它的建议 我已经尝试过这段代码 但效果不佳 import cv2 import numpy as np Run the code with the image name keep pressing spa
  • opencv人脸检测示例

    当我在设备上运行应用程序时 应用程序崩溃并显示以下按摩 java lang UnsatisfiedLinkError 无法加载 detector based tracker findLibrary 返回 null 我正在使用 OpenCV
  • OpenCV 跟踪器:模型未在函数 init 中初始化

    在视频的第一帧 我运行一个对象检测器 它返回对象的边界框 如下所示
  • 如何使用 colorchecker 在 opencv 中进行颜色校准?

    我有数码相机获取的色彩检查器图像 我如何使用它来使用 opencv 校准图像 按照以下颜色检查器图像操作 您是想问如何进行颜色校准或如何使用 OpenCV 进行校准 为了进行颜色校准 您可以使用校准板的最后一行 灰色调 以下是您应该逐步进行
  • 二值图像中骨架上两点之间的最短路径

    我有一个二进制图像 其中包含图像的一个像素宽度骨架 您可能基本上知道 在这个二值图像中 我在骨架上有 1 在其他地方有 0 如何找到骨架上两个非零元素之间的最短距离 路径也应该在骨架本身上 我想使用 A star 算法的 C 实现 我找到了
  • Opencv Mat内存管理

    内存管理对于图像类至关重要 在opencv中 图像类是cv Mat 它有一个微妙的内存管理方案 假设我已经有了自己的图像类SelfImage class SelfImage public int width int height unsig
  • 是否可以在 PyScript 中使用 OpenCV 模块?

    我想使用 opencv 模块 但无法导入 OpenCV 那么我该如何解决这个问题呢 顺便说一句 Pyodide 支持 OpenCV 示例代码 https i stack imgur com ahwex jpg 尚不支持 OpenCV 此时O
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域

随机推荐

  • 使用 cURL 通过 Powershell 2.0 发出 POST 请求

    Scenario 除此之外 Powershell 2 0 没有有用的 cmdlet Invoke RestMethod 我无法升级到版本 3 而且我发现的大多数示例都使用版本 3 我已经发现本文 然而 对于我的简单场景来说 这似乎太复杂了
  • 设置以编程方式添加的视图的样式

    在我的代码中 我以编程方式将单选按钮 复选框等输入元素添加到我的布局中 问题是 当您通过 xml 添加 radioButton 时 这些元素的样式不是您将获得的默认样式 它看起来真的很白 在白色应用程序背景上几乎是透明的 有点像透明的 另外
  • Paint() 和 PaintComponent() 之间的区别?

    我已经尝试过这方面的教程 但我仍然不太明白 基本上我的问题是哪种方法更好 为什么 我应该使用paint or paintComponent 请尽量让答案简单一些 谢谢 引用自文档paint method 该方法实际上将绘画工作委托给三个受保
  • 可以从 Google 地图 API 中提取行程预计到达时间吗?

    是否可以从两个地址点之间的谷歌地图 API 获取行程预计到达时间 以分钟为单位 和交通数据 有谁知道ETA值是否反映了交通状况 谷歌有一个距离矩阵API返回两个 或多个 点之间的距离和行进时间 可以指定为 lat lng 或地址 我不认为它
  • Spring Boot Tomcat 配置,从容器迁移到嵌入式

    我正在将用于在 Tomcat 容器中运行的 Spring Boot 应用程序迁移到运行嵌入式 Tomcat 的 Spring Boot 应用程序 我的旧 Tomcat 配置在 server xml 中有以下配置
  • 生产中的 CouchDB

    我一直在一些原型应用程序上使用 CouchDB 它非常出色 非常易于使用并且速度非常快 我想知道是否有人在生产中使用过它 并对它的可靠性 操作管理的性能适用性等有什么看法 我正在考虑使用它来支持服务层并利用其复制功能 任何评论 经验都将受到
  • 将焦点设置在 元素上

    我正在使用 Angular 5 开发前端应用程序 我需要隐藏一个搜索框 但单击按钮后 应该显示搜索框并聚焦 我已经尝试了在 StackOverflow 上找到的一些带有指令的方法 但无法成功 这是示例代码 Component selecto
  • Bootstrap 轮播 - YouTube 视频播放时暂停

    我的 Bootstrap 轮播中有一些嵌入的 YouTube 视频 默认情况下 轮播会自动前进 但我想在视频播放时暂停 有没有什么技巧可以检测视频何时播放 如果可能的话 我希望不使用 YouTube API 来完成此操作 每个轮播都有任意数
  • 如何从字符串中删除所有字符

    如何使用 JavaScript 正则表达式从字符串中删除所有非字母字符 您可以使用replace method Hey The 123 sure is fun replace A Za z g gt gt gt HeyThesureisfu
  • 使用 django-axes 登录 Django

    我用 django 创建了一个网站 用户应该能够登录 登录视图如下所示 from django contrib auth import authenticate login from django contrib auth models i
  • 如何让JFrame透明?

    如何让JFrame透明 我想让我的 JFrame 透明 当我的 JFrame 位于背景之上时 用户应该看到背景 我找到了另一个解决方案 将框架的背景颜色设置为 Set the frame background color to a tran
  • scikit-learn 中带有 BaseEstimator 的 GradientBoostingClassifier?

    我尝试在 scikit learn 中使用 GradientBoostingClassifier 它使用默认参数可以正常工作 但是 当我尝试用不同的分类器替换 BaseEstimator 时 它不起作用并给出以下错误 return y np
  • Slick/Scala:什么是 Rep[Bind] 以及如何将其转换为值?

    我正在尝试找出 Slick Scala 函数关系模型 我已经开始在 Slick 3 0 0 中构建原型 但是当然 大多数文档要么已过时 要么不完整 我已经成功地达到了可以创建模式并从数据库返回对象的程度 问题是 我返回的是 Rep Bind
  • (如何)使用 LLVM 机器代码分析器预测代码片段的运行时间?

    我使用 llvm mca 来计算总周期一段代码 认为他们会预测它的运行时间 然而 动态测量运行时间几乎没有相关性 所以 为什么 llvm mca 计算的总周期不能准确预测运行时间 我可以使用 llvm mca 以更好的方式预测运行时间吗 D
  • 将 std::enable_if 与匿名类型参数一起使用

    我尝试使用std enable if使用未使用和未命名的类型参数 以免扭曲return类型 但是 以下代码无法编译 include
  • int8_t、int_least8_t 和 int_fast8_t 的区别?

    int类型有什么区别int8 t int least8 t and int fast8 t Carl Norum 引用的 C99 标准部分定义了差异 但举个例子可能会有用 假设您有一个用于 36 位系统的 C 编译器 其中char 9 位
  • Windows 窗体应用程序 - 视觉风格?

    我会尽量保持简单 在 Windows 窗体应用程序中创建的按钮如下所示 如果我手动创建表单 我创建的按钮将如下所示 我彻底查看了 Windows 窗体应用程序 发现没有任何代码可以更改按钮的视觉样式 对于为什么会发生这种情况有任何简单的解释
  • jupyterlab交互图

    使用旧的 Jupyter 笔记本 我可以通过以下方式创建交互式绘图 import matplotlib pyplot as plt matplotlib notebook x 1 2 3 y 4 5 6 plt figure plt plo
  • 具有透明背景的html画布运动模糊

    我刚刚使用廉价的运动模糊创建了一个精美的画布效果 ctx fillStyle rgba 255 255 255 0 2 ctx fillRect 0 0 canvas width canvas height 现在我想做同样的事情 但背景透明
  • 视野如何改变立体视觉中的深度估计?

    我正在尝试估计带有两个摄像头的立体系统的深度 我使用的简单方程是 Baseline Focal Depth Disparity 两个摄像头的视野不会改变允许的最大深度 它只改变可测量的最小深度 在顶端 可测量的深度受到您使用的相机分辨率的限