返回上级
共12条
跳至  页 
  • 阅读数:1338发布于2020-08-14 12:08:47

    只看该作者
    3D相机D2C对齐的方法 复制本文链接
    关于 D2C,当前主要有两种方式,一种是硬件对齐,一种是软件对齐。硬件对齐由芯片完成,不消耗主机资源,效率较高。但是对深度图的分辨率有要求,最大支持 640x480。软件对齐没有这个限制,且精度较高,缺点是会消耗大量主机算力,不适合计算能力较弱或主机资源进展的平台。
    (1)硬件对齐
    硬件对齐操作起来比较简单,在启动数据流之前调用 Device 类的成员函数:
    m_device.setImageRegistrationMode(openni::IMAGE_REGISTRATION_DEPTH_TO_COLOR);

    就可以了,这样输出的结果中彩色图像和深度图像就是对齐的。
    (2)软件对齐

    软件对齐是使用 Orbbec 提供的一个 d2c.dll 的动态库。具体的操作比较复杂,这里暂不做详细介绍。硬件对齐相对于软件对齐来说效率高,并且从 SDK 出来的流直接就是对齐好了。软件对齐准确率更高,但是效率没有硬件对齐高,需要对从 SDK 读取出来的深度流做进一步处理,后续编码也较复杂。

    回复 (2)

    举报
  • 发布于2020-08-05 17:50:38

    只看该作者 显示全部
    硬件D2C和软件D2C,用户是否可以配置,如何配置,不同分辨率是否可以对齐等

    回复 (0)

    举报
  • 发布于2020-11-26 17:41:52

    只看该作者 显示全部

    软硬件D2C时的区别在于:

    1. 硬件D2C时芯片会根据输入的Depth与Color的分辨率,直接利用Z0、f与b信息计算得到D2C后的深度图。而软件D2C只能根据得到的软件D2C参数与深度图,外部计算得到D2C后的深度图。

    2. 硬件D2C忽略了Color相机的畸变信息。且硬件D2C参数在精度上有所损失。

    3. 硬件D2C在flash写了若干组分辨率对齐参数,虽然可以直接根据这些参数得到深度,但也仅限于对齐存入的这几组分辨率。而软件D2C只存入一组分辨率比例(4:3或16:9)的参数,但可以根据内参缩放的方式对齐各种Color满足该分辨率比例的所有分辨率。

    4.硬件D2C,由于固件设置了对齐输出的深度图分辨率与输入的深度图分辨率一致。考虑Depth:640x400对齐RGB:640X480的情形,芯片计算得到的是640x480的深度图,而固件打包输出为640x400的深度图。同样的,考虑Depth:640x400对齐RGB:640X360的情形,芯片计算得到的是640x360的深度图,而固件打包输出仍为640x400的深度图。SDK端在实现对齐时,在对深度图缩放后,需再对深度图做扩展或裁剪方能与Color图全图吻合。

    回复 (1)

    举报
  • 发布于2020-08-27 20:09:45

    只看该作者 显示全部
    LEON 发表于 2020-08-05 17:50:38

    硬件D2C和软件D2C,用户是否可以配置,如何配置,不同分辨率是否可以对齐等

    对齐标定后,工程软件那边会把D2C参数写到flash中去,用户可以使用软硬件D2C的方式自己旋转分辨率通过SDK调用对应的D2C参数,达到对齐效果。

    Flash中预存了几组分辨率的D2C参数,硬件D2C可以直接使用这几组参数软件D2C的话需要客户根据我们的参数自己在平台上做计算,达到对齐效果。

    回复 (0)

    举报
  • 发布于2020-10-20 14:41:53

    只看该作者 显示全部
    博主你好,能详细讲下D2C对齐的过程吗,我使用的硬件D2C,640*480分辨率,边缘有个别区域不理想,想麻烦您帮忙看下什么原因造成的。

    回复 (0)

    举报
  • 发布于2020-10-20 19:42:12

    只看该作者 显示全部
    Maker2020 发表于 2020-10-20 14:41:53

    博主你好,能详细讲下D2C对齐的过程吗,我使用的硬件D2C,640*480分辨率,边缘有个别区域不理想,想麻烦您帮忙看下什么原因造成的。

    硬件对齐操作起来比较简单,在启动数据流之前调用 Device 类的成员函数: m_device.setImageRegistrationMode(openni::IMAGE_REGISTRATION_DEPTH_TO_COLOR); 这个方法您有试过吗?

    回复 (0)

    举报
  • 发布于2020-10-20 19:45:57

    只看该作者 显示全部
    Maker2020 发表于 2020-10-20 14:41:53

    博主你好,能详细讲下D2C对齐的过程吗,我使用的硬件D2C,640*480分辨率,边缘有个别区域不理想,想麻烦您帮忙看下什么原因造成的。

    问题解决了,应该是相机设置的问题,我的配置彩色图像需要进行一下左右镜像。

    回复 (0)

    举报
  • 发布于2020-11-05 23:54:26

    只看该作者 显示全部
    童虎 发表于 2020-10-20 19:42:12

    硬件对齐操作起来比较简单,在启动数据流之前调用 Device 类的成员函数: m_device.setImageRegistrationMode(openni::IMAGE_REGISTRATION_DEPTH_TO_COLOR); 这个方法您有试过吗?

    我用的是硬件对齐,问题解决了,应该是相机设置的问题,我的配置彩色图像需要进行一下左右镜像。软件D2C有例子程序吗,我用的是Astra S深度相机。

    回复 (2)

    举报
  • 发布于2020-11-18 20:07:50

    只看该作者 显示全部
    Maker2020 发表于 2020-11-05 23:54:26

    我用的是硬件对齐,问题解决了,应该是相机设置的问题,我的配置彩色图像需要进行一下左右镜像。软件D2C有例子程序吗,我用的是Astra S深度相机。

    您好,下载中心的OpenNI2 SDK里面包含了这个SOft D2C 的 Sample.

    回复 (0)

    举报
  • 发布于2021-01-21 18:04:40

    只看该作者 显示全部
    童虎 发表于 2020-11-18 20:07:50

    您好,下载中心的OpenNI2 SDK里面包含了这个SOft D2C 的 Sample.

    你好,我需要将1280800的深度图和19201080的彩色图进行对齐,sdk里有合适的api执行这个操作吗?

    回复 (0)

    举报
  • 发布于2021-01-21 19:00:29

    只看该作者 显示全部
    178****8409 发表于 2021-01-21 18:04:40

    你好,我需要将1280800的深度图和19201080的彩色图进行对齐,sdk里有合适的api执行这个操作吗?

    您好, 需要在相机固件里面存上这几组分辨率参数,然后通过多分辨率对齐的方法调用实现。目前来说,还没有开放这个Api接口。

    回复 (0)

    举报
返回上级
共12条
跳至  页 
举报

请选择举报理由

  • 垃圾广告
  • 违规内容
  • 恶意灌水
  • 重复发帖
提示

奥比中光 · 3D视觉开发者社区...

站长统计