PrimeSense是Kinect一代的芯片供应商,位于以色列,也是开源体感开发包OpenNI 的维护者。自从被 Apple 收购后,销声匿迹,OpenNI 也停止更新。现在可以从网站http://structure.io/openni下载到OpenNI 2 SDK和文档。

  本人之前使用过华硕的Xtion Pro摄像头,不过由于其也使用了PrimeSense的技术,现在已经停产了,但是还可以在淘宝上面买到。

  目前一家位于中国深圳的企业奥比中光,成为继Primesense(苹果收购)、Microsoft、Intel后,全球第四家量产全自主知识产权3D传感器厂商。深圳奥比中光科技有限公司,成立于2013年,总部设立在深圳,在上海、广州、美国Seattle和Troy均设有分部。奥比中光3D传感在智能客厅、机器人、AR/VR、智能安防、辅助驾驶等不同领域都有超强应用。

  下面这款乐视3D体感摄像头就是使用的奥比中光的技术:

   其性能参数如下:

  可以看出,摄像头只能检测出0.4~8米范围内的物体的深度:

  在其英文网站https://orbbec3d.com/develop/上提供了Windows、Linux、MacOS等系统下的SDK。二次开发可以使用OpenNI 2或者奥比中光自己的Orbbec Astra SDK。如果有技术问题也可以在网站:https://3dclub.orbbec3d.com/上找到解答。下面简单记录一下在Windows 7和Ubuntu 14.04的64位系统下配置OpenNI 2开发环境的步骤。

  • Windows

  进入下载页面,下载Windows下的驱动和OpenNI 2

  下载后解压文件,安装Sensor Driver文件夹中的驱动安装程序

  然后就可以按照OpenNI 2的帮助文档配置Visual Studio项目属性:

  这里需要注意一点,在奥比中光英文网站下载的OpenNI 2文件夹中Redist\OpenNI2\Drivers下有两个文件:orbbec.dll和orbbec.ini

  而在structure.ioPCL等网站上下载的OpenNI的对应文件中没有这两个文件。如果要使用从别处下载的OpenNI,需要将上述两个文件复制到Redist\OpenNI2\Drivers文件夹中才能正常使用,否则会提示找不到摄像头。

  • Ubuntu

  我们可以在网址Universal Download Thread for Astra Series Cameras下载OpenNI 2 for Linux,这个网站在国外,下载链接可能打不开,可以科学上网进行下载...注意要根据你的系统信息选择合适的驱动,我的电脑是64位Ubuntu 14.04系统,因此选择OpenNI-Linux-x64-2.3.zip。注意这里有一个Readme.txt文件,这个文件提供了Linux系统下的安装使用说明。

  如果不理解英文说明,可以参考CSDN上的文章:turtlebot3D传感器的配置,或 奥比中光Orbbec Astra Pro RGBD 3D视觉传感器在ROS使用说明

  下面就记录下容易出错的地方:

  1. 要运行带图形界面的示例程序(比如SimpeViewer),需要额外安装freeGLUT库。如果只是运行命令行程序(如SimpleRead),则不必安装

  # To run visual samples(e.g., SimpleViewer), you will need freeglut3 header and libaries, please install:
  $ sudo apt-get install build-essential freeglut3 freeglut3-dev

  2. 要给安装文件install.sh加上可执行权限。运行安装脚本,可以产生OpenNIDevEnvironment,其中包含了OpenNI的开发环境

# run install.sh to generate OpenNIDevEnvironment, which contains OpenNI development environment
#(sudo chmod a+x install.sh)
$ sudo ./install.sh

  3. 添加环境变量,OpenNI要依据一些环境变量来定位文件。

# add environment variables
$ source OpenNIDevEnvironment

  4. 可以在Samples的对应文件夹中使用make生成示例程序,或者直接运行Samples/Bin中已有的示例程序,注意要添加可执行权限。另外我是在VMware虚拟机上的Ubuntu系统中执行的上述操作,运行时显示错误信息:无法找到摄像头。后来发现需要在虚拟机软件中连接到可移动设备才能正常使用。注意,摄像头连接到虚拟机中的Ubuntu后会与Win7系统断开:

  将可移动设备与虚拟机断开后,虚拟机右下角状态栏中的设备图标会变灰色:

# run sample
# connect sensor
$ ./SimpleViewer # now you should be able to see a GUI window showing the depth stream video

参考:

turtlebot3D传感器的配置

Develop——Orbbec

https://github.com/orbbec

Universal Download Thread for Astra Series Cameras

市售体感设备横评

体感设备:因特尔 Intel RealSense R200,乐视LeTV Pro Xtion和Orb奥比中光bec Astra比较

奥比中光3D视觉传感器--OpenNI 2配置的更多相关文章

  1. 奥比中光Orbbec Astra Pro RGBD 3D视觉传感器在ROS(indigo和kinetic)使用说明 rgb depth同时显示

    Orbbec Astra Pro传感器在ROS(indigo和kinetic)使用说明 rgb depth同时显示 这款摄像头使用uvc输入彩色信息,需要libuvc和libuvc_ros这样才能在R ...

  2. 3D视觉基础(基本原理及3D传感器基本参数)

    本人所在行业属于3D视觉方向,因此最近也是学习了很多3D视觉的知识,这次专门总结一下. 传统工业机器视觉中,2D指的是X方向加Y方向,那么3D视觉自然就是加了一个Z方向.目前我接触到的公司产品是3D激 ...

  3. V-rep学习笔记:视觉传感器2

    视觉传感器的属性设置栏中还有如下几个选项: Ignore RGB info (faster): if selected, the RGB information of the sensor (i.e. ...

  4. V-rep学习笔记:视觉传感器1

    Vision sensors, which can detect renderable entities(Renderable objects are objects that can be seen ...

  5. 奥比中光Astra Pro在ROS系统中的使用

    奥比中光Astra Pro在ROS系统中的使用 上一次介绍了Astra Pro在ubuntu中的使用,由于Astra Pro使用uvc传输彩色图像,所以当用rqt_image_view窗口 时,看不到 ...

  6. 3D视觉 之 线激光3D相机

    1  3D 视觉 常见的三维视觉技术,包含双目.ToF.激光三角.结构光等,如下图:     1)毫米级 双目.ToF.结构光(散斑)的精度为 mm 级,多见于消费领域,如:导航避障,VR/AR,刷脸 ...

  7. 体感设备:因特尔 Intel RealSense R200,乐视LeTV Pro Xtion和Orb奥比中光bec Astra比较

    最近调试三个个厂家的体感设备,第一个是Intel的RealSense R200(参数规格:分辨率:1080p,深度有效距离:0.51-4,USB3.0),第二个是乐视LeTV Pro Xtion(参数 ...

  8. [3d跑酷] Xcode5 打包 发布配置

    主题 Unity导出Xcode项目,使用Xocde打包ipa并提交到AppStore xcode发布配置 1.设置发布相关参数,比如 包名,版本,证书,ios设备版本 2.设置体系结构,支持的平台(I ...

  9. 奥比中光Astra Pro的使用(1)

    在ubuntu上的使用 首先下载SDK以及OpenNI安装包,下载地址: 解压两个安装包 切换目录到AstraSDK-Linux下的install目录,并输入命令:sudo sh ./install. ...

随机推荐

  1. [Web 前端] 使用yarn代替npm作为node.js的模块管理器

    cp from : https://www.jianshu.com/p/bfe96f89da0e     Fast, reliable, and secure dependency managemen ...

  2. Java中线程池,你真的会用吗?

    在<深入源码分析Java线程池的实现原理>这篇文章中,我们介绍过了Java中线程池的常见用法以及基本原理. 在文中有这样一段描述: 可以通过Executors静态工厂构建线程池,但一般不建 ...

  3. libstdc++.so.6: version `GLIBCXX_3.4.21' not found

    问题: dotnet: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by dotnet)dotnet ...

  4. python的单例模式:

    python的单例模式:http://funhacks.net/2017/01/17/singleton/ https://www.cnblogs.com/huchong/p/8244279.html ...

  5. 第二章 微服务网关基础组件 - zuul入门

    一.zuul简介 1.作用 zuul使用一系列的filter实现以下功能 认证和安全 - 对每一个resource进行身份认证 追踪和监控 - 实时观察后端微服务的TPS.响应时间,失败数量等准确的信 ...

  6. 使用LeakCanary检测内存泄露 翻译 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. Java Web 生成临时文件并下载(原)

    概述:本文是  java 服务器端生成文件并下载的示例,并不完善,下载之后一般来说还需要删除临时文件. 注意:临时文件存放在 /WEB-INF/tmp 目录下,所以先要把  tmp 目录建起来. pu ...

  8. GIT 使用cherry-pick 重演其他分支的提交

    在使用Git时是否会遇到这样的问题: 你正在使用Git进行版本控制,某天你接着昨天的工作了提交了N个提交,结果在合并远程分支的时候才发现原来你在工作之前没有注意到你要提交的分支状态 结果导致你本来要提 ...

  9. Windows平台下使用Beyond Compare作为GIT默认的比对与合并工具

    在Windows平台使用GUI习惯了,因此在CMD命令下反而感到不适 特别是在使用GIT时,尤其明显(这主要是GIT在工作中已经不可或缺) 使用GIT最常用的功能就是提交,添加,比较差异和合并分支,特 ...

  10. java 上传图片压缩

    public static void uploadFile(MultipartFile multfile, String filePath) throws Exception { File targe ...