核心技术
产品中心
开发者
如何购买
资源中心
Orbbec SDK 文档
欢迎阅读Orbbec SDK(以下简称“SDK”)的使用教程!SDK 不仅提供了简洁的高阶API,又提供全面、灵活的低阶API,能够让您更快速的了解和使用奥比中光3D传感摄像头。
常见问题
  1. 在Windows下编译C/C++ Example,运行时找不到dll库。
  • 运行所需要的dll都在Examples的bin目录下,将目录下的dll文件拷贝至执行文件处。
  1. 在Linux下编译C/C++时,提示缺少libudev?
  • udev在支持系统中是默认集成,如果缺失可以通过apt-get install libudev0安装后再重新编译。
  1. Cmake编译C++程序报错 Found OpenCV Windows Pack but it has no binaries compatible with your configuration. You should manually point CMake variable OpenCV_DIR to your build of OpenCV library?
  • 配置OpenCV_DIR为OpenCVConfig.cmake文件所在位置,不同版本有差异,常见于opencv\build目录,配置后依然报错”but it set OpenCV_FOUND to FALSE so package “OpenCV” is considered to be NOT FOUND.”可以尝试设置到opencv/build/x64/vc15/lib目录。
  1. Astra+设备切换D2C开关后深度图不再刷新。
  • 在当前版本中, D2C开关需要在深度流关闭时进行控制,遇到此情景重启深度流即可恢复正常。后续版本更新中会对D2C的使用场景进行拓宽,使D2C在开流状态时也可使用。
  1. Femto设备的深度图像和红外图像不再刷新。
  • 为确保使用体验,Femto只有在深度、红外图像分辨率一致时(即均为640480或320240)才可运行。
  1. 在Windows下编译C/C++ Example,运行时报错,提示“由于找不到opencv_world.dll,无法继续执行代码,重新安装程序可能会解决问题”。
  • 该问题是由于运行环境中的opencv版本与示例版本(opencv_world430.dll)不一致,需手动将opencv/build下bin目录中对应版本的dll(如opencv_world435.dll)拷贝到Examples/build/bin/Release文件夹中,再次运行即可解决。
  1. 在Ubuntu下热插拔,设备无法正常使用,提示“failed to open usb device: error: OB_USB_STATUS_ACCESS”。
如在使用时遇到此情景,可以尝试以下方法:
  • 使用终端:热插拔后需要重新对USB设备进行授权(sudo chmod 777 /dev/bus/usb/00x/*)。
  • 使用OrbbecViewer工具:热插拔后对工具进行授权(sudo ./OrbbecViewer)即可恢复正常。
  1. Linux下点云显示异常。
  • 请检查您的显卡驱动是否安装或处于正常状态。点云渲染依赖OpenGL,而OpenGL需要调用GPU进行渲染,重新安装显卡驱动即可解决。
  1. PC正常连接设备后,打开设备失败。
  • 尝试在设备管理器里边将DataChannel卸载后重新拔插设备以解决该问题
  1. 某些windows电脑使用过旧版本固件的设备后,使用新版本固件的设备后出现枚举不了或者设备升级失败的问题。
  • 由于新固件设备描述符中的设备名称可能已经改变,但是windows注册表里还缓存着旧的设备名称信息,导致无法枚举,解决此问题需要将设备管理器里的设备重新卸载后,重新插拔设备,或者使用devcon工具删除注册表后再插拔设备即可解决。
  1. 某些windows电脑使用OrbbecViewer会出现崩溃的问题。
  • 需要安装最新的显卡驱动与USB驱动,可以使用驱动精灵或者到对应官网下载
  1. 控制台提示 Create glfw windows failed!
  • 通常是显卡驱动未安装,通过安装显卡驱动可以解决该问题
  1. Ubuntu 16.04环境,点云显示黑屏
  • 确保系统中OpenGL 版本大于3.3
  1. Gemini2模组Depth输出的精度是带缩放系数的,缩放系数取值为:0.1,0.2,0.4,0.8,1.0。
  • 通过SDK获取到depth值后,需要乘以缩放系数,可以得到单位为毫米的深度值。 通过以下接口获取缩放系数。如valueScale=0.1, 某坐标像素值为pixelValue=10000,则表示深度值value = pixelValuevalueScale = 100000.1=1000mm
C接口:
  1. float ob_depth_frame_get_value_scale(ob_frame *frame, ob_error **error);
C++接口:
  1. DepthFrame类的 float getValueScale();
  1. SyncAlignViewer Sample(c++)D2C不能对齐
  • 首先将OrbbecSDKConfig_v1.0.xml 配置文件,拷贝到编译好的Sample的bin目录下, 如果没有配置文件,需要使用SDK的接口设置能对齐的depth和color 分辨率等信息,然后开流。
  • Dabai DCW 和 Gemini E,对齐分辨率比较特殊,硬件对齐和软件对齐的分辨率不一样,请参考产品手册修改配置文件,或者使用SDK的接口,配置正确的分辨率开流。如:DCW 和Gemini E,硬件对齐的分辨率Depth 640x360 对齐到 Color 640x360, 而软件对齐的分辨率 Depth 640x480 对齐到 Color的640x360。
  1. Arm平台(A311D、树莓派4B等) OrbbecViewer 点云不能渲染
  • 系统OpenGL太低,OrbbecViewer 点云渲染需要 OpenGL 版本大于3.3
  1. Arm平台,MultiDevice、MultiStream、MultiDeviceSync 用例不能渲染
  • 原因:打包的应用程序依赖的Opencv是裁剪过的,不支持。 用户使用Opencv 4.2或以上版本,重新编译Sample,才支持渲染。

更新记录

1.7 版本更新说明

主要更新内容(和1.6.3版本比较):
  • 新增支持Gemini 2 XL 和 Astra Mini S Pro。
  • 修改多机同步的接口和Sample。
  • 其他问题修复及优化。