Intel 深度摄像D435i 的标定

2023-05-16

这个官方的标定链接,先下载这个的pdf 文件在本地容易学习:

https://www.intel.com/content/www/us/en/support/articles/000032303/emerging-technologies/intel-realsense-technology.html

看上去这个链接也不错

使用OpenCV进行标定(Python)

打算明天做完测试再补充具体内容。

试了几次,开始我的标定还是没成功,我是按照intel 官方的标定方法。先介绍下他的方法:

运行 python rs-imu-calibration.py

pdf 文档里没有说这个文件是怎么样的,我就google 到下面位置:

这个代码先要下载 https://github.com/IntelRealSense/librealsense/tree/master/tools/rs-imu-calibration

文档推荐是这里,在这里我看不到这个文件。

https://github.com/IntelRealSense/librealsense/tree/master/wrappers/python

运行代码后,从6个位置获取IMU 数据, 在每个位置停留3-4秒时间,下面是6个位置,其实就是6个方位:

位置1(安装口在底面,正面):

Align to direction: [0. ,-1. ,0.] Upright facing out

Status.collect_data[....]

Direction data collected.

位置2(手握立起来了,正面:

USB cable up facing out

位置3:

Upside down facing out

位置4:

USB cable pointed down

位置5:

Viewing direction facing down

位置6:

Viewing direction facing up

我在windows 10 下没有成功,现象是

Direction data collected. 没有出来,一直采数据。估计我这电脑没有usb3 的缘故吧,这几天都在ubuntu 上折腾,那个电脑有usb3。

现在标定成功了,截图如下:

其实还是他的说明文档写得不清楚,看看下面链接

https://github.com/IntelRealSense/librealsense/tree/master/tools/rs-imu-calibration 

这个写得比较清楚一点,关于软件操作的部分。

从我的截屏也看不清,

对于每个方向,都有以下步骤:

回转Rotation:

该脚本将打印以下行,描述如何调整相机的方向:

Align to direction: [ 0. -1. 0.] Upright facing out

然后打印状态(旋转)和与所需方向的差:
Status.rotate:[1.0157 -0.1037 0.9945]:[False False False]

必须调整你的相机方向,将数字设为[0,0,0],然后脚本将移至下一个状态。

等待稳定(Wait to Stablize):

脚本等待您稳定3秒钟。 同时有一个倒计时消息:

Status.wait_to_stable: 2.8 (secs)

等待3秒钟后,脚本开始收集数据:

收集数据(Collecting data):

状态线是点线。 当达到20个点时,就收集到足够的数据,脚本将继续进入下一个定向。

这时如果相机偏位,则不会收集数据,如果摄像机偏位太多,则返回“旋转Rotation”状态。

看了这个,并且耐心一点,我才终于标定成功。

回过头来看,Windows10 应该也可以成功的,主要是当时软件操作不清楚。

后面的步骤是:

做完6个方向的定位,出现下列信息,建议你保存原始采集数据:
Would you like to save the raw data? Enter footer for saving files (accel_<footer>.txt and gyro_<footer>.txt)
Enter nothing to not save raw data to disk. >

直接回车不会保存,我就输入y

这些文件可以用 “-i” option 导入.

然后脚本问你是否保存数据到设备(Device).

Would you like to write the results to the camera\'s eeprom? (Y/N)
选择 Y (or any other combination with Y or y in it) 就保存到设备了。

最后显示:
SUCCESS: saved calibration to camera.

注意:
CTRL-C 不会关闭设备,应该 CTRL-Z 然后 kill -9 %1 如果你中途想中断运行

我开始没有关闭好这个设备,再运行矫正程序的时候,说设备不能用之类的,我就sudo python ...,结果也不对,后来我拔掉usb连线,估计设备占用就退出了。

这个矫正还是有点不容易,主要是官方说明不清楚,但我还是看了学会做的。

官方矫正就介绍到此。

 

 

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

Intel 深度摄像D435i 的标定 的相关文章

  • 如何将 Intel 80386 机器代码转换为汇编语言?

    我被赋予以下任务 考虑以下十六进制值序列 55 89 E5 83 EC 08 83 E4 F0 31 C9 BA 01 00 00 00 B8 0D 00 00 00 01 D1 01 CA 48 79 F9 31 C0 C9 C3 该字节
  • 程序集编号转 ascii

    我正在使用 intel 上的 at t 语法来处理汇编程序 我迷路了 如何将寄存器中的整数转换为 ASCII 数字 假设我想转换数字 10 我会将数字 10 放入寄存器 eax 中 如果我只是将数字 48 添加到 eax ascii 符号将
  • 逻辑 CPU 计数返回 16 而不是 4

    我有一个 Intel Core i5 2450m 2 个物理处理器和 4 个逻辑处理器 我想找到一种方法来计算 AMD 和 Intel CPU 上的逻辑和物理核心 但是 经过一番搜索 我发现了一些奇怪的事情 我的代码没有返回 4 个逻辑单元
  • 组装为什么lea快?

    我和我的教授交谈过 他说 leaq rax rax 8 比以下速度更快 imulq 9 rax 我问他为什么 在这两种情况下 我们都用几乎相同的数字进行乘法 他说我们不会讨论这个 有人可以帮助我简单地理解为什么 leaq 总体上很快吗 评论
  • 英特尔处理器:“如果 CPUID.06H:EAX.[7] = 1”是什么意思?

    英特尔处理器数据表中的以下注释是什么意思 如何在 Linux 中的驱动程序代码中检查这一点 如果CPUID 06H EAX 7 1 我在英特尔处理器的软件开发人员手册的寄存器描述表的注释栏中遇到了这种类型的语句 Ref https soft
  • 现代英特尔处理器有多少种超标量方式?

    我刚刚了解了超标量处理器 https en wikipedia org wiki Superscalar processor https en wikipedia org wiki Superscalar processor 我还了解到 随
  • 如何从 C# 与英特尔新的 DRNG(RDRAND 指令)交互? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望从 C 程序集中使用英特尔的数字随机数生成器 Ivy Bridge 中的 RDRAND 指令 我查看了 cpp 库 但我希望有一个更
  • 为什么 Numpy 和 Ryzen Threadripper 比 Xeon 慢这么多?

    我知道 Numpy 可以使用不同的后端 例如 OpenBLAS 或 MKL 我还读到 MKL 针对 Intel 进行了深度优化 所以通常人们建议在 AMD 上使用 OpenBLAS 对吗 我使用以下测试代码 import numpy as
  • Intel x86 - 中断服务例程责任

    我没有真正意义上的问题 但我会尽力澄清内容问题 假设我们有一个微内核 PC Intel x86 32 位保护模式 中断描述符表 IDT and 中断服务程序 ISR 对于每个CPU异常 ISR 被成功调用 例如Division by Zer
  • 将英特尔寄存器用于其“预期目的”是否会提高效率?

    本文 http www swansontec com sregisters html声称每个寄存器都有其预期目的 更重要的是 当英特尔的工程师设计 最初的 8086 处理器 他们有 每个人都有一个特殊的目的 登记 正如他们设计的 指令集 他
  • Intel 64架构中CALLF(Far Call)可以有64位地址内存操作数吗?

    在 Intel 32 位架构中 我可以使用 ModR M 字节调用 32 位地址位置 根据英特尔手册 我需要 2 010B 用于操作码扩展 00B 用于 Mod 101B 允许我拥有 32 位位移 如果我想在 64 位架构中进行远调用 以便
  • 通过 WinAPI 确定 Intel HD 显卡版本

    因此 我尝试通过 WinAPI 函数获取有关显卡的信息 但有一个关于如何获取确切的卡信息的问题 我已经编写了调用 EnumDisplayDevices 的代码 并通过我的调用收到了 DeviceString Intel R HD Graph
  • 如何完全关闭 TBB 代码中的线程

    注意 这不是重复的这个问题 https stackoverflow com questions 3786408 number of threads used by intel tbb 给定一个与 TBB 并行的复杂软件 我如何完全关闭线程
  • 模拟器:错误:x86 模拟当前需要硬件加速

    我尝试在 Android Studio 中运行我的 Hello World 应用程序 我收到以下错误 模拟器 错误 x86 模拟当前需要硬件 加速 请确保英特尔 HAXM 已正确安装且可用 CPU加速状态 HAX内核模块未安装 你能告诉我如
  • 将8个16位SSE寄存器转换为8位数据

    假设我有一个包含 16 位数据的 SSE 数组 1 2 3 4 5 6 7 8 现在我需要通过在前 8 个字节中仅存储 16 位数据的低字节来将此 SSE 数组转换为 8 位数据 如下所示 1 2 3 4 5 6 7 8 0 0 0 0 0
  • 在两个逻辑 CPU 之间共享 TLB 条目 (Intel)

    我想知道当属于同一程序且具有相同PCID的两个线程被安排在同一物理CPU上运行时是否可以共享TLB条目 我已经研究过SDM https www intel com content www us en developer articles t
  • Skylake 中干净缓存行的写回?

    我观察到 Skylake SP 在真实硬件上对干净的缓存行进行写回 Leeor 对这篇文章的回答对于 Intel Core i3 i7 数据从缓存集中逐出后的去向 https stackoverflow com questions 1941
  • 混洗两个 __m128i 的 64 位部分的最佳方法

    我有两个 m128is a and b 我想进行洗牌 以便高 64 位a落在低 64 位dst和低 64 位b落在上64dst i e dst 0 63 a 64 127 dst 64 127 b 0 63 相当于 m128i dst mm
  • 英特尔 SGX 开发者许可和开源软件

    是否可以获得许可的开发人员证书 用于在生产模式下签署经过安全审查 社区开发的开源 SGX 软件二进制文件 并将其发布到 apt 或 rpm 等开源存储库上 我刚刚询问了Intel SGX团队 他们说只有经过验证的供应商才能获得证书并在生产模
  • 哪种架构称为非均匀内存访问(NUMA)?

    根据wiki http en wikipedia org wiki Non uniform memory access 非均匀内存访问 NUMA 是一种用于多处理的计算机内存设计 其中内存访问时间取决于相对于处理器的内存位置 但尚不清楚它是

随机推荐

  • 【ROS】rosnode信息命令

    参考 xff1a https www cnblogs com kay2018 p 10314741 html 一 概述 ROS信息命令用于识别话题 服务 节点和参数等信息 尤其是rostopic rosservice rosnode和ros
  • 【ROS】launch文件详解

    参考 xff1a https www cnblogs com fuzhuoxin p 12588402 html 在节点少 xff0c 程序小的情况下可以一个一个节点来启动 xff0c 测试运行效果 xff1b 但是当工程规模大 xff0c
  • uC/OS-II的任务同步与通信

    在多任务合作过程中的 xff0c 操作系统应解决两个问题 xff1a 一是各任务之间应具有一种互斥关系 xff0c 即对于某个共享资源的共享 xff0c 如果一个任务正在使用 xff0c 则其他任务只能等待 xff0c 等到该任务释放该资源
  • Jetson Xavier NX系统烧录(使用NVIDIA SDK Manager)

    目录 一 在host主机下安装NVIDIA SDK Manager 二 安装系统镜像 三 设置SSD为系统启动项 四 安装CUDA等环境的包 注意 xff1a 本文使用的是国产开发套件 xff0c 不支持SD卡镜像文件烧录 一 在host主
  • 使用Spring Security,在登陆页面没有跳转的问题。(ssm)

    首先检查有没有在spring security xml中配置成功页面和失败页面 其次判断web xml中是否引用了spring security xml文件 最后 xff0c 如果上两步都没问题 xff0c 删去spring securit
  • for 循环嵌套性能的比较

    有人对着汇编语言不够一屑 xff0c 认为那已经是古老的低级语言 xff0c 是当今的非主流语言 xff0c 学了也不知道有什么用 是的 xff0c 我们不得不承认 xff0c 作为一门古老的语言 xff0c 汇编已经完成了历史赋予它的使命
  • 同一个单片机系统要做到共地

    同一系统可以不同的电源供电 xff0c 但是要做到共地 原因 xff1a 不同的仪器要连接成一个电气系统 共地就是建立一个共同的电位参考点 否则没有标准如何能够测量 同时 公共地一般也是接大地的地线 仪器外壳接地可以消除干扰信号
  • STM32串口下载程序

    STM32 串口下载程序 引言 xff1a 如果我们用下载器下载程序很快 xff0c 很方便 xff0c 但是需要购买下载器 xff0c 很破费 为此我们用串口 下载程序 xff0c 省去了购买下载器的麻烦 下面介绍用串口下载程序的方法 x
  • Python实现微信自动回复

    先安装 itchat requests itchat uos itchat uos主要解决微信提示禁止网页登录导致登录失败的问题 以下有三种可玩方式 xff1a 1 回复好友 源代码如下 xff1a wechat autoreply imp
  • linux屏幕录像

    安装 sudo apt get install kazam 功能 屏幕录像 屏幕截图 区域 全屏 窗口 自定义区域 音频 光标 扬声器 麦克风 配置 帧率 录音源 保存位置
  • 安卓串口通讯工具库封装及使用

    串口通讯 引言 对于安卓开发的小伙伴来说 xff0c 很少用到串口通信开发 主要用来外接一些硬件设备 xff0c 例如扫码器 xff0c 读卡器 xff0c 体温枪等一些硬件设备 这些设备与安卓之间通过串口来交换数据 如果有安卓串口开发这方
  • shell启动程序的四种方式

    需要执行script sh 文件 方式一 xff1a script sh 执行shell脚本时是在当前shell xff08 称为父shell xff09 开启一个子shell环境 xff0c 此shell脚本就在这个子shell环境中执行
  • ZED深度相机的使用--zed-ros-wrapper

    ZED相机能做什么 可以获取3D RGB点云用于生成地图 xff0c 带有imu传感器可以获取位姿与移动轨迹 xff0c 下面是厂家的宣传内容 下载并安装ZED SDK ZED SDK 3 6 Download Stereolabs Dev
  • 卡尔曼滤波(Kalman Filter)

    卡尔曼滤波 Kalman Filter 微信公众号 xff1a 幼儿园的学霸 个人的学习笔记 xff0c 关于OpenCV 关于机器学习 问题或建议 xff0c 请公众号留言 目录 TOC what is Kalman Filter 举个例
  • git提交Dockerfile到github并关联Dockerhub

    1 注册 amp 登录dockerhub https hub docker com 有账号的直接上边的Sign In登录 xff0c 没有的填写下面的信息 xff0c 进行注册 2 dockerhub方发起与github的账号关联 登录后右
  • 【时间规划】C/C++发展之路--读书

    0 xff1a 图书馆的N本C xff0c C 43 43 书 1 xff1a C语言深度解剖 2 xff1a 高质量C 43 43 c编程指南 3 xff1a C 43 43 primer第四版 4 xff1a Windows程序设计 5
  • 结构体对齐

    C程序结构体对齐 关于结构体对齐我把我的理解写下来 xff1b 结构体对齐的步骤 xff1a 1 xff0c 结构体各个成员对齐 xff1b 2 xff0c 结构体圆整 首先要了解几个概念 xff1a 1 xff0c 指定对齐值 xff1a
  • 全局变量-函数内部不允许修改局部变量的值

    全局变量 num 61 10 def demo1 希望修改全局变量的值 在 python 中 xff0c 是不允许直接修改全局变量的值 如果使用赋值语句 xff0c 会在函数内部 xff0c 定义一个局部变量 num 61 99 print
  • Docker镜像仓库

    Docker镜像仓库 搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现 官网地址 xff1a Docker Hub 简化版镜像仓库 Docker官方的Docker Registry是一个基础版本的Docker镜像
  • Intel 深度摄像D435i 的标定

    这个官方的标定链接 xff0c 先下载这个的pdf 文件在本地容易学习 xff1a https www intel com content www us en support articles 000032303 emerging tech