
Kinect+OpenNI
风雨兼程--远方
嵌入式软件工程师
展开
-
Kinect+OpenNI学习笔记之1(开发环境的建立)
前言 一般的普通摄像机获取的是RGB彩色图像,在计算机视觉领域,很大一部分都是基于颜色图像来做处理的,取得了不少研究成果。最近几年的深度图研究给计算机视觉和图像处理带来了更多的信息,因为所获取的图像多了一个维度的,通常也称之为RGBD图。比较物美价廉的深度信息获取传感器有MS的Kinect,同时还有ASUS的Xtion。这2种传感器都能较为准确的获得一定范围内物体的深度信息。比如...转载 2019-01-29 10:49:11 · 432 阅读 · 1 评论 -
Kinect+OpenNI学习笔记之13(Kinect驱动类,OpenCV显示类和手部预分割类的设计)
Kinect+OpenNI学习笔记之13(Kinect驱动类,OpenCV显示类和手部预分割类的设计) 前言 为了减小以后项目的开发效率,本次实验将OpenNI底层驱动Kinect,OpenCV初步处理OpenNI获得的原始数据,以及手势识别中的分割(因为本系统最后是开发手势识别的)这3个部分的功能单独做成类,以便以后移植和扩展。其实在前面已经有不少文章涉及到了这3部分的设计,比如说:...转载 2019-01-30 14:05:47 · 304 阅读 · 0 评论 -
Kinect+OpenNI学习笔记之12(简单手势所表示的数字的识别)
前言 这篇文章是本人玩kinect时做的一个小实验,即不采用机器学习等类似AI的方法来做简单的手势数字识别,当然了,该识别的前提是基于本人前面已提取出手部的博文Robert Walter手部提取代码的分析的基础上进行的。由于是纯数学形状上来判别手势,所以只是做了个简单的0~5的数字识别系统,其手势的分割部分效果还不错(因为其核心代码是由OpenNI提供的),手势数字识别时容易受干扰,效果一...转载 2019-01-30 14:05:34 · 531 阅读 · 0 评论 -
Kinect+OpenNI学习笔记之11(OpenNI驱动kinect手势相关的类的设计)
前言 本文所设计的类主要是和人体的手部打交道的,与人体的检测,姿势校正,骨架跟踪没有关系,所以本次类的设计中是在前面的OpenNI+Kinect系列博文基础上去掉那些与手势无关的驱动,较小代码量负担。类中保留下来有手势识别,手部跟踪,以及手部跟踪的轨迹和多个手部的位置坐标等信息。本类的设计也开始慢慢遵循一些C/C++编程规范,这里采用的是google的编程规范。 本文测试设计出的类...转载 2019-01-30 14:05:25 · 264 阅读 · 0 评论 -
Kinect+OpenNI学习笔记之10(不需要骨骼跟踪的人体多个手部分割)
Kinect+OpenNI学习笔记之10(不需要骨骼跟踪的人体多个手部分割) 前言 这篇文章主要是介绍多个手部的分割,是在前面的博文:不需要骨骼跟踪的人体手部分割 的基础上稍加改进的。因为识别有的一个应用场合就是手势语言识别,而手势一般都需要人的2只手相配合完成,因此很有必要对人体的多个手部来进行分割。 实验说明 其实本文中使用的还是OpenNI自带的一些算法实现的...转载 2019-01-29 11:02:20 · 843 阅读 · 0 评论 -
Kinect+OpenNI学习笔记之9(不需要骨骼跟踪的人体手部分割)
Kinect+OpenNI学习笔记之9(不需要骨骼跟踪的人体手部分割) 前言 手势识别非常重要的一个特点是要体验要好,即需要以用户为核心。而手势的定位一般在手势识别过程的前面,在上一篇博文Kinect+OpenNI学习笔记之8(Robert Walter手部提取代码的分析) 中已经介绍过怎样获取手势区域,且取得了不错的效果,但是那个手势部位的提取有一个大的缺点,即需要人站立起来...转载 2019-01-29 11:01:19 · 370 阅读 · 1 评论 -
Kinect+OpenNI学习笔记之8(Robert-Walter手部提取代码的分析)
前言 一般情况下,手势识别的第一步就是先手势定位,即手势所在部位的提取。本文是基于kinect来提取手势识别的,即 先通过kinect找出人体的轮廓,然后定位轮廓中与手部有关的点,在该点的周围提取出满足一定要求的区域,对该区域进行滤波后得到的区域就是手部了。然 后利用凸包和凹陷的数学几何方法,画出手指和手指凹陷处的点,以及手的轮廓线,并在图像中显示出来。文章所有代码都是网友Robert ...转载 2019-01-29 11:00:24 · 1111 阅读 · 0 评论 -
Kinect+OpenNI学习笔记之7(OpenNI自带的类实现手部跟踪)
Kinect+OpenNI学习笔记之7(OpenNI自带的类实现手部跟踪) 前言 本文主要介绍使用OpenNI中的HandsGenerator来完成对人体手部的跟踪,在前面的文章Kinect+OpenNI学习笔记之5(使用OpenNI自带的类进行简单手势识别)中已经介绍过使用GestureGenerator这个类来完成对几个简单手势的识别,这次介绍的手部跟踪是在上面简单手势识别的...转载 2019-01-29 10:59:30 · 711 阅读 · 0 评论 -
Kinect+OpenNI学习笔记之6(获取人体骨架并在Qt中显示)
前言 MS的kinec SDK和OpenNI都提供了人体骨骼跟踪的算法,人体骨骼跟踪算法在kinect人体行为识别中非常重要,该识别过程通常被用来作为行为识别的第一步, 比如说,通过定位人体中的骨骼支架,可以提取出人手的部位,从而可以把手的部分单独拿出来分析,这样就达到了手势的定位,而后面的手势识别则可以在刚刚定 位出的领域进行处理。总而言之,一套有效的人体骨架追踪算法在kinect的一...转载 2019-01-29 10:58:34 · 1359 阅读 · 2 评论 -
Kinect+OpenNI学习笔记之5(使用OpenNI自带的类进行简单手势识别)
Kinect+OpenNI学习笔记之5(使用OpenNI自带的类进行简单手势识别) 前言 因为OpenNI可以获取到kinect的深度信息,而深度信息在手势识别中有很大用处,因此本文就来使用OpenNI自带的类来做简单的手势识别。识别的动作为4种,挥手,手移动,举手,往前推手。通过后面的实验可以发现,其实提供的类的效果非常不好。 开发环境:QtCreator2.5.1+O...转载 2019-01-29 10:56:53 · 478 阅读 · 0 评论 -
Kinect+OpenNI学习笔记之4(OpenNI获取的图像结合OpenCV显示)
Kinect+OpenNI学习笔记之4(OpenNI获取的图像结合OpenCV显示) 前言 本文来结合下opencv的highgui功能显示kinect采集得来的颜色图和深度图。本来在opencv中自带了VideoCapture类的,使用该类可以直接驱动kinect设备,具体的可以参考下面的文章:http://blog.youkuaiyun.com/moc062066/article/det...转载 2019-01-29 10:54:01 · 341 阅读 · 0 评论 -
Kinect+OpenNI学习笔记之3(获取kinect的数据并在Qt中显示的类的设计)
Kinect+OpenNI学习笔记之3(获取kinect的数据并在Qt中显示的类的设计) 前言 在上一篇文章Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像) 中,已经介绍了怎样使用OpenNI来获取Kinect的深度数据和颜色数据,并将获取到的结果在Qt中显示,不过那个代码是写在同一个cpp文件中,以后用到的时候不能讲这些显示的基本过程单独拿出来,比...转载 2019-01-29 10:53:09 · 641 阅读 · 0 评论 -
Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)
前言 网上有不少使用Qt做界面,OpenNI为库来开发kinect。或许大家的第一个问题就是询问该怎样使用Kinect来获取颜色信息图和深度信息图呢?这一节就是简单来回答这个问题的。 开发环境:QtCreator2.5.1+OpenNI1.5.4.0+Qt4.8.2 实验说明: 在使用OpenNI来驱动读取kinect数据时,我们需要了解context objec...转载 2019-01-29 10:52:06 · 572 阅读 · 0 评论 -
Kinect+OpenNI学习笔记之14(关于Kinect的深度信息)
前言 由于最近要研究kinect采集到的深度信息的一些统计特征,所以必须先对kinect深度信息做进一步的了解。这些了解包括kinect的深 度值精度,深度值的具体代表的距离是指哪个距离以及kinect深度和颜色扫描范围等。经过查找资料可以解决这些问题,并且后面通过实验也验证了这些问题 的答案。 开发环境:开发环境:QtCreator2.5.1+OpenNI1.5.4.0+Qt4.8....转载 2019-01-30 14:05:55 · 866 阅读 · 0 评论