转载请注明出处:http://blog.csdn.net/lxk7280
首先,对即将要用到的主要东西进行初步的理解。
分为两大类,硬件和软件。硬件,即Kinect。软件,即Arduino和Processing。Arduibo相信很多人都用过,机器人、四轴飞行器等电子产品不少与Arduino这个浪漫的编译器有联系,为什么说浪漫呢,这不得不从它的开发者说起,Arduino的开发者可以说是艺术家出身,所以Arduino总给人一种浪漫高贵的感觉,不得不吐槽一下Keil,界面确实不怎么好看,不过依然是我的最爱。毕竟是第一个接触的编译器,Keil的兼容性简直牛。
1. Arduino。
Arduino是一个开源硬件平台,由微控制器、编程语言和IDE构成。
下面说说Arduino的浪漫的起源,在2005年的意大利伊夫雷亚交互设计学院,这款以“让艺术家和设计师也可以轻松掌握电子学和编程”为意图的平台诞生了。
Arduino的核心是一个8bit的Atmel的AVR单片机,它的引脚有两种模式:输入和输出,默认情况下为输入。它有14个数字引脚,6个脉冲调制引脚,1个6通道的模数转换器(ADC)10bit。即:0V==0 5V==1023 2.5V==512,ATmega内置了20千欧的上拉电阻。
小知识点补充:几位单片机重的几位是什么意思?如:8位的Arduino,32位的Stm32,32位的K60等等。
Answer:这里的位数指的是二进制数,多少位是指该处理器,特别是其中的寄存器能够保存多少位的数据,也就是它一次能处理多少位的数据。位数越大,处理速度越快,保存数据越多。
2.Processing
Processing的IDE类似于Arduino的IDE,后者跟着前者的基础做。
Processing的创始者:Casey Reas与Ben Fry是美国麻省理工学院媒体实验室 (M.I.T. Media Laboratory) 旗下美学与运算小组 (Aesthetics & Computation Group) 的成员。美学与运算小组由著名的计算机艺术家John Maeda领导,于一九九六年成立至今,在短时间内声名大噪,以其高度实验性及概念性的作品,既广且深地在艺术及设计的领域里,探索计算机的运算特质及其带来源源不绝的创造性。极少数人能完美结合并平衡艺术家、设计师和计算机工程师的才华于一身,更重要的是Casey和Ben拥有开放源码的胸襟。
下面介绍一下Processing编译器上面的几个按钮:
Export:可以把Processing代码转换成Java代码并编译成可以嵌入浏览器的Java Applet,我们在网上看到的Processing Applet都是通过这个方法实现。
Standard:用来切换标准模式与Android模式,用于Android应用开发。
3.Kinect
关于Kinect的历史,它于2010年11月4日面世,60天出售了80万套,以“历史上销售速度最快的消费类电子产品”载入吉尼斯纪录。2009年6月1日,微软推出Project Natal项目,2010年6月13日改名为Kinect,但未提供任何驱动程序。2010年11月,300美元奖励提供驱动程序的Hector Martin。2010年,PrimeSense发布驱动程序和OpenNI的Kinect架构,推出华硕Kinect。2011年,微软发布非商业化的Kinect的SDK。2012年2月,又发布了一个商业版本。
继PrimeSense发布OpenNI框架,华硕和PrimeSense推出专门的PC兼容设备,2012年华硕推出Xtion PRO,带有一个深度摄像头,随后发布了Xtion PRO Live,和Kinect一样,包括RGB摄像头和红外摄像头。Xtion针对PC专门设计的,而Kinect针对Xbox360.
Kinect的硬件构造:由一个RGB摄像机,一个红外激光投射器和红外线CMOS传感器组成的深度传感器,一个带有声源定位和环境噪声抑制功能的话筒阵列,一个LED光源,一个三轴加速度计,一个舵机。可实现3D扫描,一般工作范围:1.2m到3.5m,太近了扫描不到,显示黑点;太远了扫描精度下降,看起来像一个平面物体。
Kinect的功能:1.640x480的RGB图像。
2.640x480的红外线图像。
3.11bit的深度图。
4.手势跟踪和骨骼跟踪。
Kinect的驱动程序框架:OpenKinect的LibFreenect驱动;PrimeSense的OpenNI和NITE,分别访问Kinect的数据流和骨骼手部跟踪功能。
OpeNI:是PrimeSense的框架,让人可以从Kinect中获取深度和RGB图像,它是开源的,可以用于商业用途。
Nite:是中间件,让人可以执行手部或者骨骼跟踪和手势识别功能,Nite不是开源的,但是可以用于商业用途。
小知识点补充: 什么是驱动程序?
驱动程序:把预先定义好的API应用编程借口转换成硬件内置的API,让不同的设备有同样的外观和行为,可以看作是硬件与其应用程序或操作系统之间的一个翻译。
什么是3D扫描技术?
深度传感器的两个工作单元,红外线投射器与红外线摄像机通过PrimeSense芯片连接,捕捉前方3D场景。Kinect重的红外线摄像机是VGA(640x480)分辨率,深度为11bit,灵敏度级别为2048.
“世界上首个独家提出的专业PC动作感应软件开发解决方案”。 -- Xtion PRO Live