3D相机调研

2023-10-27

最近因为自己实验需要配置一个3D相机,安装在机械臂上实现eye in arm的自动化引导过程,调研结果记录如下:

3D相机又称为深度相机,即通过该相机能检测出拍摄空间的景深距离(与普通相机(2D的最大区别))。

普通彩色相机(2D相机)拍摄到的图片能将看到相机视角内的所有物体记录下来,但是其记录的数据不包含这些物体离相机的距离,我们仅仅是通过图像的语义分析来判断出哪些物体离我们比较远,哪些物体比较近,只是没有具体的数据表示。而3D相机通过获取到的数据,我们可以准确知道图像中每个点离摄像头的距离,这样再加上该点在2d图像中的(x,y坐标),我们就能获取图像中每个点的三维空间坐标,通过三维坐标就能还原真实场景,实现场景的建模等操作。

课外扩展:我们的眼睛就是一个天然的3D相机,这主要是由于偏光原理,当人眼在看任何物体时,由于两只眼睛在空间有一定间距约为5cm,即存在两个视角,这样形成左右两眼所看到的图像不完全一样,称为视差。这种细微的视差通过视网膜传递到大脑,就能显示出物体的前后远近产生强烈的立体感。因此根据这一奇妙现象,人类就通过两个一定距离的普通摄像头来模拟人眼获取3D数据。这就是最初的双目立体相机,鉴于双目相机的一些缺陷,后来人们又发明了结构光和TOF方法来获取3D数据。(目前3D相机方案就是这三种)

目前主流的深度探测技术是结构光,TOF,和双目。

(1)结构光(Structured-light):

结构光通过采用特定波长的不可见的红外激光作为光源,他发射出来的光经过一定的编码投影在物

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

3D相机调研 的相关文章

  • 金九银十:搞定这两个开源项目,30k轻松吧?

    又到了金九银十的招聘黄金季了 显然今年行情不怎么样 僧多粥少 而且招聘门槛也是越来越高 面试深度也越来越偏底层 动辄就是几道mid hard级别的算法题 做出来了说你Leetcode没少刷 没做出来就说你不行 就像我之前面试的时候 问我的我
  • SQL Server 关键字使用详解

    1 DISTINCT关键字 说明 用于返回唯一不同的值 语法 SELECT DISTINCT column name column name FROM table name 实例 选择用户的昵称并去重 选择用户的昵称并去重 SELECT D
  • 3.4 C++多态

    C 向上转型 1 派生类对象赋值给基类对象 2 派生类指针赋值给基类指针 单纯这样的使用 向上转型是不完整的 类型兼容原则 是指在需要基类对象的任何地方 都可以使用公有派生类的对象来替代 通过公有继承 派生类得到了基类中除构造函数 析构函数
  • VxWorks开发俱乐部

    VxWorks开发俱乐部
  • ORA-00322, ORA-00312 问题解决

    昨天发现无法登录Oracle数据库 通过sqlplus工具open数据库时报如下错误 alter database open ERROR at line 1 ORA 00322 log 2 of thread 1 is not curren
  • --no-defaults

    MySQL初始化脚本mysql install db使用简介及选项参数 2016 01 11 17 02 02 分类 MySQL mysql install db是一个默认放在 mysql scripts的一个初始化脚本 该脚本可以在任何装
  • CodeSmith 使用教程(4): 基本语法-CodeTemplate 指令

    前面的几篇介绍了使用CodeSmith模板自动生成代码和编写代码模板的基本知识 也说过CodeSmith最核心的部分是代码模板 从本篇开始介绍CodeSmith代码模板的基本语法 对于Asp Net程序员来说 可以说是碰到老朋友了 Code
  • AI练手系列(四)—— cnews中文文本分类(RNN实现)

    数据集介绍 这个数据集是由清华大学根据新浪新闻RSS订阅频道2005 2011年间的历史数据筛选过滤生成的 数据集包含50000个样本的训练集 5000个样本的验证集 10000个样本的测试集 词汇表5000个字 词 文本内容一共包含十个分
  • 在为函数传参时, 何时用引用,何时用指针呢?

    一般来说 能用引用尽量不用指针 引用更加直观 更少出现意外的疏忽导致的错误 指针可以有二重 三重之分 比引用更加灵活 有些情况下 例如使用 new 运算符 只能用指针 关于指针与引用的区别 可以看 CSDN 的 这篇文章 讲得很细致 在该文
  • Acwing-4699. 如此编码

    我们可以直接把c代入 然后将m的表达式展开 问题转化成已知m和a序列 求b序列 类似于进制位转化 把ai都看成10 m就是十进制数的表达式了 就更像了hh 这个过程很像求某进制下 各个数位上的数是多少 比如 1679各个位置上的数依次是9
  • GD32F303调试小记(十)之LVGL移植(FreeRTOS)

    一 前言 在上文中 我们成功的移植进了FreeRTOS 接下来我们在此基础上 移入我们的LVGL图形界面库 二 LVGL 一款用于绘制界面UI的开源库 让硬件资源更少的MCU跑出显示效果理想的界面 实际效果可以参考官方或者视频网站上开发者公
  • 【文末送书】2023年以就业为目的学习Java还有必要吗?

    前言 作者主页 雪碧有白泡泡 个人网站 雪碧的个人网站 推荐专栏 java一站式服务 React从入门到精通 前端炫酷代码分享 从0到英雄 vue成神之路 uniapp 从构建到提升 从0到英雄 vue成神之路 解决算法 一个专栏就够了 架
  • Window10安装TensorFlow(GPU)与可行性测试

    2017 11 9遇到坑了 安装成功但是import tensorflow出错正在排查原因 因为在VM的Ubuntu上貌似对GPU支持不怎么好 使用体验不佳 现在尝试直接在Windows10上使用anaconda和pip安装tensorfl
  • view, Window,Activity等概念的比较分析

    1 View 最基本的UI组件 表示屏幕上的一个矩形区域 2 Window 表示一个窗口 不一定有屏幕那么大 可以很大也可以很小 它包含一个View tree和窗口的layout 参数 View tree的root View可以通过getD
  • 数据结构 单链表1

    头文件
  • Kcov - gcov, lcov and bcov

    Short version Kcov a new project of mine for code coverage testing When developing software I ve often found measuring c

随机推荐

  • Vue实现验证码

    在Web应用程序中 为了避免机器自动化或恶意攻击 很常见的做法是要求用户在表单提交之前输入验证码 验证码最常见的形式是图片验证码 因为图片验证码最大程度地防止了自动化机器调用API来执行攻击 使人类用户输入不是人类难以识别的形式 比如文本和
  • 数据结构的常用八种排序算法

    概述 排序有内部排序和外部排序 内部排序是数据记录在内存中进行排序 而外部排序是因排序的数据很大 一次不能容纳全部的排序记录 在排序过程中需要访问外存 我们这里说说八大排序就是内部排序 当n较大 则应采用时间复杂度为O nlog2n 的排序
  • 活动安排问题-贪心算法

    在时间段内选择尽可能多的活动 0 14 include
  • python-10

    纯函数实现面向对象 人狗大战 游戏人狗大战 人 角色 属性 名称 等级 血量 攻击力 性别 职业 zhangsan name zhangsan level 1 hp 100 ad 20 sex 男 职业 魔法师 def person nam
  • QString和std::string相互转换

    QString和std string相互转换 使用下面的函数 toStdString gt 将QString转换成std string QString toStdString fromStdString gt 将std string转换成Q
  • Docker数据目录(/var/lib/docker)迁移

    本文介绍Linux上如何安全的迁移Docker的数据目录 var lib docker 为什么要迁移 虚拟机创建时 一般分配一个比较小的系统盘 然后挂载一个大容量的数据盘 docker默认情况下数据存储在系统盘 var lib docker
  • 捕获线程执行异常

    在 Thread 类中 可以获取线程运行时异常的 API 总共有四个 public void setUncaughtExceptionHandler UncaughtExceptionHandler eh 为某个特定线程指定 Uncaugh
  • hibernate注解

    现在EJB3实体Bean是纯粹的POJO 实际上表达了和Hibernate持久化实体对象同样的概念 他们的映射都通过JDK5 0注释来定义 EJB3规范中的XML描述语法至今还没有定下来 注释分为两个部分 分别是逻辑映射注释和物理映射注释
  • 目标检测一阶段和二阶段对比图

    图片来源
  • 『学Vue2+Vue3』认识Vue3

    认识Vue3 1 Vue2 选项式 API vs Vue3 组合式API 特点 代码量变少 分散式维护变成集中
  • Linux下安装jre

    Linux下安装Java运行环境 现需要项目部署到Linux中 需要配置java运行环境 注 以下测试环境系统为centOS 用户为超级管理员 jre8 1 下载最新版的jre 服务器环境下不需要配置jdk 下载地址如下 http www
  • microsoft visual c++ 6.0中文版两种使用方法

    microsoft visual c 6 0 是一款语言编程软件 那么很多人都不知道microsoft visual c 6 0中文版怎么使用 其实使用方法很简单哦 只要打开microsoft visual c 6 0中文版就可以进行语言编
  • 《数据结构》 图的创建与遍历 代码表示

    测试数据 10 15 共10个顶点 15条边 0 1 0 8 0 0 第一 二个数表示连接两个顶点的起始顶点 第三个数1表示单通行 0表示双向通行 4 8 1 5 4 0 5 9 1 0 6 0 7 3 1 8 3 1 2 5 0 2 1
  • c#排列组合算法

    Combinatorics cs代码清单 using System using System Collections using System Data
  • 二叉树所有节点转换成大于该节点的平均值,没有最大值就转换成0

    import java util ArrayList import java util List import java util function ToIntFunction import java util stream Collect
  • CUnit(单元测试框架)

    CUnit是一个用C语言编写 管理和运行单元测试的轻量级系统 它为C程序员提供了具有灵活多样用户界面的基本测试功能 CUnit是作为一个静态库构建的 它与用户的测试代码链接在一起 它使用一个简单的框架来构建测试结构 并为测试公共数据类型提供
  • Buildroot制作根文件系统过程(基于MYD-AM335X开发板)

    buildroot的功能很强大 可以利用它制作交叉编译工具链 根文件系统 甚至可以构建多种嵌入式平台的bootloader linux 下面以米尔科技的MYD AM335X平台为例展示如何利用buildroot制作自己所需的根文件系统 一
  • 柔性OLED拼接屏有哪些场景化应用?

    柔性OLED拼接屏是一种新型的显示技术 它采用了柔性OLED屏幕 可以实现多个屏幕的拼接 形成一个大屏幕显示 这种技术可以应用于各种场合 如商业展示 广告宣传 会议演示等 柔性OLED屏幕是一种新型的显示技术 它采用了柔性材料作为基底 可以
  • java基于ssm+vue的共享充电宝管理系统 elementui

    随着时代的发展 人们的生活越来越离不开手机 但是因为技术水平等原因的限制 手机的电池并没有人们想象中的那么耐用 很多时候人们在外出的时候 很可能会遇到手机没电的情况发生 作为日常通讯的必备工具 如果没电了 很可能会影响一些重要的事情 尤其是
  • 3D相机调研

    最近因为自己实验需要配置一个3D相机 安装在机械臂上实现eye in arm的自动化引导过程 调研结果记录如下 3D相机又称为深度相机 即通过该相机能检测出拍摄空间的景深距离 与普通相机 2D的最大区别 普通彩色相机 2D相机 拍摄到的图片