
openni
文章平均质量分 53
wi162yyxq
这个作者很懒,什么都没留下…
展开
-
OPENNI中usergenerator的使用
#include #include #include #include #include #include #include using namespace std;using namespace xn;using namespace cv;void XN_CALLBACK_TYPE LostUser(UserGenerator& generator,XnUserID u原创 2016-11-08 08:48:55 · 744 阅读 · 0 评论 -
OPENNI实践-体感方向盘玩赛车游戏(2)
这一篇是关于获取到的数据与虚拟手柄之间通信的过程。首先设置要发送的指令,然后通过WriteFile将指令发送给设备。DWORD WINAPI SendofBody_left(LPVOID lpParam){ DWORD dwWaitResult_Event=1; static bool mmm=true; while(true) { dwWaitResult_Event=Wait原创 2016-12-01 16:23:20 · 693 阅读 · 0 评论 -
OPENNI实践-体感方向盘玩赛车游戏(2)
这一篇是关于如何通过捕捉到的双手进行方向盘的线性模拟的过程。其实模型很简单。也就是通过左右手在x轴的夹角及左右手相对高度去判断的。void transControl(){ XnVector3D xnVector_Point_Right; XnVector3D xnVector_Point_Left; XnVector3D xnVector_Point_Hand; xnVect原创 2016-12-01 15:27:54 · 1000 阅读 · 0 评论 -
OPENNI实践-体感方向盘玩赛车游戏
为了实现利用体感进行方向盘模拟,我们首先要明白,方向盘是一个线性的虚拟手柄,因为玩家在进行不同的旋转操作的时候,会有不同的角度,在这种情况下,我们需要反映成游戏中不同的拐弯角度。而不是像按键手柄,一个按钮实现一个功能。在这里我们使用线性手柄的轴度,模拟线性方向盘的感觉。在这里我们使用四轴虚拟线性手柄,但是因为只需要两个轴,所以我们只用两个。一个控制转角,一个控制油门。这里的难点其实在于如何原创 2016-12-01 11:01:53 · 1334 阅读 · 1 评论 -
OPENNI学习实践-利用openni和opencv提取人的轮廓
#include #include #include #include #include #include #include using namespace std;using namespace xn;using namespace cv;void XN_CALLBACK_TYPE LostUser(UserGenerator& generator,XnUserID u原创 2016-11-08 15:22:47 · 1844 阅读 · 2 评论 -
OPENNI学习实践-用身体模拟鼠标
点击打开链接利用身体模拟鼠标,进行基础的绘图,其实就是画线。。。。,蛋疼的是录屏的时候录下来发现鼠标的位置不对。。。不过自己用的时候是对的原创 2016-11-18 09:48:17 · 505 阅读 · 0 评论 -
openni+nite体感鼠标模拟4(鼠标点击模拟)
void MouseButtonDown(){ INPUT Input={0}; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN; ::SendInput(1,&Input,sizeof(INPUT));}void MouseButtonUp(){ INPUT Input原创 2016-11-18 09:27:48 · 719 阅读 · 0 评论 -
OPENNI学习实践-OPENNI体感开发实战中NITE手势识别样例
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace st原创 2016-11-10 09:23:08 · 1752 阅读 · 0 评论 -
OPENNI学习实践-openni+kinect 获取真实世界坐标
#include #include #include #include #include #include #include using namespace std;using namespace xn;using namespace cv;void CheckOpenNIError(XnStatus eResult,string sStatus){ if(eResu原创 2016-11-02 10:55:15 · 3089 阅读 · 1 评论 -
OPENNI学习实践-利用openni获取红外图像
#include #include #include #include #include using namespace std;using namespace xn;using namespace cv;void CheckOpenNIError(XnStatus eResult,string sStatus){ if(eResult != XN_STATUS_OK)原创 2016-11-01 16:58:55 · 1774 阅读 · 1 评论 -
OPENNI学习实践-利用opencv显示图像
这一部分我主要参考了http://blog.youkuaiyun.com/chenxin_130/article/details/6696187和http://blog.youkuaiyun.com/kh1445291129/article/details/39346987,这两篇博客,接下来我简要的总结一下,这两篇博客提到的方法。原创 2016-11-01 10:52:31 · 602 阅读 · 0 评论 -
OPENNI学习实践-openni基本结构
OpenNI,Open Natural Interaction开放式的自然交互,这种自然交互主要包括语音,手势和肢体动作等,也就是说希望能够不需要其他设备只需要直觉就可以控制一些应用设备。 OpenNI本身定义了撰写自然操作程序所需要的API(Application Programming Interface,应用程序编程接口),并且提供了一个多语言跨平台的framework(框架),进一步提供了原创 2016-11-01 09:51:46 · 1302 阅读 · 0 评论 -
OPENNI学习实践-win10(64bit)+openni1.5.4+vs2010+opencv2.4.11配置
首先,之前已经说了如何去安装openni及驱动和NITE,这篇主要讲安装之后如何进行配置。首先,根据1.5.4这个版本的说明,我们只能使用vs2010作为编辑器,所以,我也就重新安装了vs2010.然后首先是,如何配置64位的openni。当你安装好vs2010时,新建项目,之后会发现,我们使用的当前项目是基于32bit去编译的,所以第一步我们需要将这个项目改为通过64bit编译器去编译,原创 2016-10-31 21:22:41 · 2019 阅读 · 0 评论 -
openni+nite体感鼠标模拟3(左右手选择)
选择左右手是通过,一开始我们在Psi姿势识别人体,然后摆动需要控制的手,完成左右手选择。void SelectHand(){ if (selectHand) { putText(cvBGRImage,"Please select your control hand!",Point(320,240),1,1,Scalar(255,255,255)); if (abs(imagepo原创 2016-11-17 10:46:51 · 590 阅读 · 0 评论 -
openni+nite体感鼠标模拟2
这一部分主要是关于多线程的问题,因为使用过程中为了保证实时性,使用多线程是必要的,多线程的使用很复杂,但是在这里我们只用最基本的功能,所以还是比较简单的。首先是多线程所使用的函数的定义。DWORD WINAPI ReadDepthMapThread(LPVOID lpParamter){ while (1) { g_Context.WaitAndUpdateAll(); g_Im原创 2016-11-16 16:38:16 · 466 阅读 · 0 评论 -
openni+nite体感鼠标模拟
最近在学openni,所以做一个体感鼠标练练。主要功能,就是一只手负责定位鼠标在屏幕的位置,一只手进行点击或者其他的操作,并且可以通过一些特定方式进行左右手切换等操作。第一步就是设置鼠标以及屏幕等的参数,为了方便,我们使用ini文档进行配置,主要包含:屏幕尺寸,帧数,左右击键等配置。[Setting]ScreenRes_X=1440ScreenRex_Y=900nFPS=30Lef原创 2016-11-16 14:52:13 · 1227 阅读 · 0 评论 -
win10(64bit)安装openni1.5.4全攻略
首先,本步骤基于http://fivedots.coe.psu.ac.th/~ad/kinect/installation.html,这个网站提供。1.清楚一切与'Kinect', 'Xbox', 'PrimeSense', 'OpenNI' 或 'NITE' 有关的安装程序,删除曾经安装这些程序遗留下来的文件夹,如C:\Program Files\OpenNI等2.下载安装包,安装包的下原创 2016-10-31 15:18:05 · 3717 阅读 · 1 评论 -
openni+nite体感鼠标模拟5(补充)
之前做的体感鼠标,左手向左摆是右击,右手向前推是左键按下,这样其实有时候很麻烦,所以,我现在用一种比较简单的方式去实现左键按下,就是判断主手手掌的状态,若是闭合则按下,若是张开则弹起。这里我主要用到的有OPENCV里的凸包,这也是一个常用的判断手的姿势的函数,其次就是深度图,这里凸包函数直接作用于深度图,这样我们通过判断凸包中的缺陷就可以了。最重要的是我们可以利用OPENNI本身的提取用户深度原创 2016-12-02 15:28:04 · 610 阅读 · 0 评论