相关商品
基于Arduino 互动电子套件 23节经典实验 UNO R3新版
本店售价:¥380.00
爱上Arduino 互动入门套件 中文教材配套 教学视频 UNO R3
本店售价:¥210.00
基于Arduino 互动电子积木套件 arduino UNO R3开发实战 爱上制作
本店售价:¥480.00
爱上Processing互动入门套件 UNO R3入门套件 学习套件 Java编程套件
本店售价:¥480.00
爱上Processing Casey Reas所著 Processing解析 中文教材
本店售价:¥59.00
基于Arduino 电子积木套件 传感器套件 15件套
本店售价:¥150.00
Arduino从基础到实践 Beginning Arduino 从零开始 初学提高
本店售价:¥79.00
Arduino技术内幕 Arduino Internals 语法精通 实战读本
本店售价:¥55.20
PVCBOT零基础机器人制作配书套件 小学生DIY模型科技小制作套装
本店售价:¥93.60
PVCBOT零基础机器人制作教材 DIY机器人配书套件 科技小制作小发明
本店售价:¥52.65
PVCBOT零基础机器人制作工具包 五金焊接电子模型玩具工具箱套装
本店售价:¥138.06
Raspberry Pi 树莓派 用户指南 爱上树莓派 linux开发板 入门教材
本店售价:¥49.00
Raspberry Pi 快速入门指南 爱上树莓派指南 中文教材
本店售价:¥35.00
Raspberry Pi Python 编程入门 树莓派 快速入门指南 中文教材
本店售价:¥38.00
Arduino 机器人权威指南 爱上Arduino制作指南
本店售价:¥79.20
树莓派应用速成 Raspbmc媒体中心 爱上树莓派 入门指南
本店售价:¥32.00
树莓派应用速成 网络应用秘方 爱上树莓派 快速入门指南
本店售价:¥38.00
例说xbee无线模块开发 XBee zigbee 无线通信数传 教材
本店售价:¥59.00
【创客学堂】基于Kinect的实例教程及硬件介绍(二)
编辑:Xtm2014-08-04 浏览次数:1198
上篇文章我们介绍Kinect硬件构成及原理,今天小编继续为大家讲解SimpleOpenNI 0.27 版本Processing 平台搭建的具体操作过程。
开发平台搭建
一 、SimpleOpenNI 0.27 版本Processing 平台搭建
1 其实还是需要下载这样的一个软件:Processing 如果发现报错,那么你可能是把Processing放在文件夹下了,这是不可以的,一定要放在磁盘的根目录下,再如果你发现下载之后你打不开它,那么可能是你没搭建Java环境,要解决起来很简单,只要安装Java SDK就行了,现在的版本是JDK 1.7。
2 其实运行Processing后你是不能马上开发Kinect,为还要安装一个library,这个library可以理解为Processing的插件,但是大家不要担心,我会整合资源,预先安装好”插件”在Processing上,然后大家下载运行就可以了。另外JDK1.7我也会整合在内的,到时候大家可以直接下载我的”大包”然后一气呵成
3 如果下载了Windows kinect SDK那么先卸载它,为什么? 个人理解:这个是驱动的原因,因为不同的API不同的开发者对函数,类的写法,思想是不同的,底层的中间介质就会不同,如果都安装的话就会出现问题。
4 卸载完毕------记得先插上Kinect;然后, 要安装OpenNI的SDK 因为OpenNI消耗资源比较小,比较Windows SDK 来说有更大的灵活性的解决方案。其实OpenNI在VC下还是存在解决方案的,在这里只是Processing+SimpleOpenNI的一个解决方案。总的来说有这样三种解决方案: 1 windows Kinect SDK+Visual Studio 2 OpenNI+Visual Studio 3 SimpleOpenNI+Processing,那么现在来说我们的解决方案就是第三种。
上面的图片意思就是:这回你遇到问题了,是什么呢?就是当你卸载Windows SDK 驱动后,在安装OpenNI驱动的话,就会报错,但是这并不代表不能安装。解决方案就是重启机器,开机之前一直抖动着按F8,笔记本的话应该是好FN(功能键,左下角)+F8组合的,大家注意,F8 会带你进入一个比较好玩的模式,黑纸白字,第一项就是安全启动,然后是最后一次正确配置,这个不重要,最重要的是,选择禁止驱动强制签名,然后回车(Enter键)。说到这里,有的电脑直接可以安装,不会报以上截图的错。
F8帮你只能到这,然后重启结束,然后安装,如下截图,一定要点击始终安装,然后驱动成功了。
成功安装驱动后效果是这个样子的
二 SimpleOpenNI 1.96 版本Processing 平台搭建
1 下载windows kinect SDK1.8(1.7也可以)
2 下载SimpleOpenNI 1.96
3 (可以在卸载SimpleOpenNI驱动后)直接安装windows kinect SDK1.8
4 打开Processing 2.1 OpenNI 1.96 便可以正常使用
5 为什么这么简单?因为第三部以后我帮你打理了
Notice: SimpleOpenNI 1.96和SimpleOpenNI 0.27 有一些API接口不太一样,主要是升级之后有改变的缘故吧,但是都是很简单的,按照Example>>OpenNI>>User 修改就可以正常使用了。具体修改方法:相互比较两者的不同点,不难发现0.27版本SimpleOpenNI例程较1.96版本多了这样一句初始化:
context.enableUser(SimpleOpenNI.SKEL_PROFILE_ALL);
这句话enableUser方法确定的是被检测者是生么形式的进入Kinect视野,有SKEL_PROFILE_ALL, SKEL_PROFILE_UPPER,SKEL_PROFILE_LOWER,这三种模式ALL的模式为显示使用者的全身体感信息,UPPER为显示使用者上半生体感信息,LOWER则是只显示使用者下半身的体感信息。这样的话可以方便的分析出单独身体部分的运动状态,排除其他身体部分带来的视觉干扰,便于做前后期测试能极大的提高工作效率。
而在升级版本1.96中取消了这个模式,不再有分离的说法,这个很让我感到奇怪,不知道开发者是怎么想的,或许是存在,我不知道而已。
0.27的测试平台下的工程如果想移植到新的1.96平台的话,就要注意修改这句函数了,修改方法很简单,只要删除就可以。
解决报错001后,还有报错002,相较与0.27SimpleOpenNI新版本的1.96更简洁的说明了一个道理,自然语言与计算机语言交互要自然。
context.requestCalibrationSkeleton(userId,true)其实这句话的报错不像报错001一样,是由于初始化的不同导致的不兼容,这句话的方法没有变化,只是函数void onNewUser(int userId)的变量由int userId变成SimpleOpenNI curContext和 int userId。也就是被检测对象的个数没有太大变换,可以支持多人,但是对象的代词发生了改变, curContext当前对象的称呼,个人感觉改变这句函数的很大原因可能是对全局的对象申请更为方便吧。
解决办法:将SimpleOpenNI1.96版本User例程里面的onNewUser函数完全取代SimpleOpenNI0.27版本的onNewUser函数。
接连的报错也是由于类似报错002的原因,当然解决办法也是用SimpleOpenNI1.96版本的函数替换掉原来SimpleOpenNI0.27版本的函数,换成新的函数,这样就会兼容。
实例测试
点击Processing的话就可以运行了,打开实例:
(在Processing下File>Example)
在Processing下File>Example>Library>OpenNI>SceneDepth
就是这个结果喽,很简单的。
接下来我们就要学习Processing的语法,就是要学会与Processing对话,让他去执行自己的命令。Processing语言相对别的语言来说,更人性,交互更自然这里一定要推荐一本书:Starting with Processing,中文翻译叫爱上Processing。
学习新的东西过程不是很爽,为什么因为人类都有个共性,那就是对未知事物都有恐惧之心,山高人为峰,心之所向金石为开,要时刻充满斗志和激情,才不枉青春过!
相信看完”爱上Processing”这本书之后你一定会充满想法,迫不及待的去挑战一下自己的~
这个网站是对我帮助最大的,它不但有例程还有详细的讲解,但是都是E文。
关于SimpleOpenNI开发平台搭建小编就给大家介绍到这了,后续小编还会继续为大家讲解用kinect绘制深度图与绘制人体躯干实例具体操作过程,喜欢的小伙伴们敬请期待吧!
用户评价
暂时还没有任何用户评论