kinect 订阅
Kinect V1(第一代 Kinect)是微软在2010年6月14日对XBOX360体感周边外设正式发布的名字。伴随Kinect名称的正式发布,Kinect还推出了多款配套游戏,包括Lucasarts出品的《星球大战》、MTV推出的跳舞游戏、宠物游戏、运动游戏《Kinect Sports》、冒险游戏《Kinect Adventure》、赛车游戏《Joyride》等。“Kinect”为 kinetics(动力学)加上 connection(连接)两字所自创的新词汇,读音为ki-nect(/kɪn'ɛkt/) ,并非 con-nect(/kən'ɛkt/)或 Kir-nect随着2014年10月Kinect V2(第二代 Kinect)的发布 [1]  , 微软设计师Alex Kipman和Xbox营销总经理Matthew Lapsen在接受媒体采访时表示,微软将停止生产Kinect V1传感器。 [2] 展开全文
Kinect V1(第一代 Kinect)是微软在2010年6月14日对XBOX360体感周边外设正式发布的名字。伴随Kinect名称的正式发布,Kinect还推出了多款配套游戏,包括Lucasarts出品的《星球大战》、MTV推出的跳舞游戏、宠物游戏、运动游戏《Kinect Sports》、冒险游戏《Kinect Adventure》、赛车游戏《Joyride》等。“Kinect”为 kinetics(动力学)加上 connection(连接)两字所自创的新词汇,读音为ki-nect(/kɪn'ɛkt/) ,并非 con-nect(/kən'ɛkt/)或 Kir-nect随着2014年10月Kinect V2(第二代 Kinect)的发布 [1]  , 微软设计师Alex Kipman和Xbox营销总经理Matthew Lapsen在接受媒体采访时表示,微软将停止生产Kinect V1传感器。 [2]
信息
开发代号
Natal
外文名
Kinect
现阶段
停产 [2]
属    性
外设
公    司
微软
Kinect定义
Kinect是微软在2009年6月2日的E3大展上,正式公布的XBOX360体感周边外设。Kinect彻底颠覆了游戏的单一操作,使人机互动的理念更加彻底的展现出来。 [3]  网友普遍称其中文名为“啃奶特”。它是一种3D体感摄影机(开发代号“Project Natal”),同时它导入了即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。 玩家可以通过这项技术在游戏中开车、与其他玩家互动、通过互联网与其他Xbox玩家分享图片和信息等。微软互动娱乐业务副总裁唐·马特里克(Don Mattrick)说:“这个技术让我们在不用发售新主机的情况下就可以步入一个互动娱乐的新纪元。”唐·马特里克还说:“先前,有种障碍把电动游戏玩家和所有人都分隔了开,”“有了Natal,大家都能加入游戏,使用发明史上最棒的遥控器——你。”微软在洛杉矶的E3电子娱乐展上揭示Kinect技术。这场娱乐展正好办在电玩产业的转折期。过去电玩产业都被认为对经济衰退免疫,但是有迹象显示整体产业成长有减缓的迹象。微软的Kinect不需要使用任何控制器,它依靠相机捕捉三维空间中玩家的运动。微软指出它会让系统更加简易操作来吸引大众。这个系统也辨识人脸,让玩家自动连上游戏。它还可辨认声音和接受命令。在游戏示范中,玩家们用脚踢仅存在于屛幕中的足球,并用伸手设法拦阻进球。在驾驶游戏中,玩家转动想像中的方向盘来操控电视游戏中的赛车。在绘画游戏,玩家则是说出颜色--“蓝色”或“浅褐色”--然后摇摆双臂来在数码式画板上飞溅一片油漆。
收起全文
精华内容
参与话题
问答
  • 本程序是在FaceBasics-D2D实例基础上加以修改。 直接上代码吧。 在HRESULT CFaceBasics::InitializeDefaultSensor()函数中,要添加:// 创建高清面部帧源 if (SUCCEEDED(hr)){ hr = ...

    ~~有兴趣的小伙伴,加kinect算法交流群:462964980。

    本程序是在FaceBasics-D2D实例基础上加以修改。
    直接上代码吧。
    在HRESULT CFaceBasics::InitializeDefaultSensor()函数中,要添加:

    // 创建高清面部帧源
    if (SUCCEEDED(hr)){
        hr = CreateHighDefinitionFaceFrameSource(m_pKinectSensor, &m_pHDFaceFrameSource);
    }
    // 创建高清面部帧读取器
    if (SUCCEEDED(hr)){
        hr = m_pHDFaceFrameSource->OpenReader(&m_pHDFaceFrameReader);
    }
    
    // 注册临帧事件
    // 创建面部特征对齐
    if (SUCCEEDED(hr)){
        hr = CreateFaceAlignment(&m_pFaceAlignment);
    }
    
    SafeRelease(m_pHDFaceFrameSource);

    在void CFaceBasics::ProcessFaces()函数中需要添加:

    // AU单元
    float               au[FaceShapeAnimations_Count];
    
    void CFaceBasics::ProcessFaces()
    {
        HRESULT hr=S_OK;
        //GetFaceShapeAnimations();
        IBody* ppBodies[BODY_COUNT] = {0};
        bool bHaveBodyData = SUCCEEDED( UpdateBodyData(ppBodies) );
    
    
        if (bHaveBodyData)
        {
    
            // 检查是否未被跟踪
            BOOLEAN bFaceTracked = false;
            //if (SUCCEEDED(hr) )
            //{
            // check if a valid face is tracked in this face frame
            hr = m_pHDFaceFrameReader->get_HighDefinitionFaceFrameSource(&m_pHDFaceFrameSource);
            if(SUCCEEDED(hr))
            {
                hr = m_pHDFaceFrameSource->get_IsTrackingIdValid(&bFaceTracked);
            }
            //}
            // kinect离人脸的距离
            double d_face = 10.0;
    
            // 保存离kinect最近人的id
            int n_id = 0;
            if (SUCCEEDED(hr) && !bFaceTracked)
            {
                // 只检测离着kinect最近的人
                for (int i = 0; i < BODY_COUNT; ++i) 
                {
                    hr = ppBodies[i]->get_IsTracked(&bFaceTracked);
                    if (SUCCEEDED(hr) && bFaceTracked)
                    {
                        Joint joints[JointType_Count]; 
                        hr = ppBodies[i]->GetJoints(_countof(joints), joints);
                        if (SUCCEEDED(hr))
                        {
                            // A 3D location in camera space. 头部离kinect的距离 headJoint.Z;
                            CameraSpacePoint headJoint = joints[JointType_Head].Position;
                            if(headJoint.Z < d_face)
                            {
                                d_face = headJoint.Z;
                                n_id = i;
                            }
                        }
                        // break;
                    }
                }
                hr = ppBodies[n_id]->get_IsTracked(&bFaceTracked);
                // 下面很重要,要得到高清面部帧人的id
                if (SUCCEEDED(hr) && bFaceTracked)
                {
                    UINT64 id = 0;
                    ppBodies[n_id]->get_TrackingId(&id);
                    m_pHDFaceFrameSource->put_TrackingId(id);
                }
            }
        }
        for (int i = 0; i < BODY_COUNT; ++i) SafeRelease(ppBodies[i]);
        //SafeRelease(m_pHDFaceFrameSource);
        if (!m_pColorFrameReader || !m_pBodyFrameReader)
        {
            return;
        }
        if (SUCCEEDED(hr) && m_pHDFaceFrameReader != nullptr)
        {
    
            IHighDefinitionFaceFrame* pHDFaceFrame = nullptr;       
    
            hr = m_pHDFaceFrameReader ->AcquireLatestFrame(&pHDFaceFrame);
    
            if(SUCCEEDED(hr))
            {
                hr = pHDFaceFrame->GetAndRefreshFaceAlignmentResult(m_pFaceAlignment);
            }
    
    
            if (SUCCEEDED(hr))
            {
                m_pFaceAlignment->GetAnimationUnits(FaceShapeAnimations_Count,au);
                char buffer[1024];
                memset(buffer,0,sizeof(char)*1024);
                //%f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f \tT\r\n
                //%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\tT\r\n
                auto length = sprintf(buffer, "%f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f  %f \tT\r\n",
                    au[FaceShapeAnimations_JawOpen],
                    au[FaceShapeAnimations_LipPucker],
                    au[FaceShapeAnimations_JawSlideRight],
                    au[FaceShapeAnimations_LipStretcherRight],
                    au[FaceShapeAnimations_LipStretcherLeft],
                    au[FaceShapeAnimations_LipCornerPullerLeft],
                    au[FaceShapeAnimations_LipCornerPullerRight],
                    au[FaceShapeAnimations_LipCornerDepressorLeft],
                    au[FaceShapeAnimations_LipCornerDepressorRight],
                    au[FaceShapeAnimations_LeftcheekPuff],
                    au[FaceShapeAnimations_RightcheekPuff],
                    au[FaceShapeAnimations_LefteyeClosed],
                    au[FaceShapeAnimations_RighteyeClosed],
                    au[FaceShapeAnimations_RighteyebrowLowerer],
                    au[FaceShapeAnimations_LefteyebrowLowerer],
                    au[FaceShapeAnimations_LowerlipDepressorLeft],
                    au[FaceShapeAnimations_LowerlipDepressorRight]);
    
                std::wstring str = L"au.txt";
                std::ofstream file;
                // std::ios::app是让其在文件结束添加数据,不会覆盖之前的数据
                file.open(str,std::ios::app);
                if(file.is_open())
                {
                    //file.seekp(0,std::ios::end);
                    file.write(buffer,strlen(buffer));
                }
                file.close();
    
            }
    
            // 安全释放
            SafeRelease(pHDFaceFrame);
        }
    
    }
    

    到这里为止,AU单元的特征向量就生成了,然后就可以根据我们机器学习算法进行分类,或者做一些新的开发。

    展开全文
  • Kinect开发学习笔记之(一)Kinect介绍和应用

    万次阅读 多人点赞 2012-11-04 13:13:46
    Kinect开发学习笔记之(一)Kinect介绍和应用 zouxy09@qq.com http://blog.csdn.net/zouxy09   一、Kinect简介  Kinectfor Xbox 360,简称 Kinect,是由微软开发,应用于Xbox 360 主机的周边设备。它让玩家不...

    Kinect开发学习笔记之(一)Kinect介绍和应用

    zouxy09@qq.com

    http://blog.csdn.net/zouxy09

     

    一、Kinect简介

          Kinectfor Xbox 360,简称 Kinect,是由微软开发,应用于Xbox 360 主机的周边设备。它让玩家不需要手持或踩踏控制器,而是使用语音指令或手势来操作 Xbox360 的系统界面。它也能捕捉玩家全身上下的动作,用身体来进行游戏,带给玩家“免控制器的游戏与娱乐体验”。其在2010年11月4日于美国上市,建议售价149美金。Kinect在销售前60天内,卖出八百万部,目前已经申请金氏世界记录,成为全世界销售最快的消费性电子产品。

           2012年2月1日,微软正式发布面向Windows系统的Kinect版本“Kinect for Windows”,建议售价249美金。而在2012年晚些时候,微软还将发布面向“教育用户”的特别版Kinect。(以上来自wiki百科)

    1.1、硬件

           Kinect有三个镜头,中间的镜头是 RGB 彩色摄影机,用来采集彩色图像。左右两边镜头则分别为红外线发射器和红外线CMOS 摄影机所构成的3D结构光深度感应器,用来采集深度数据(场景中物体到摄像头的距离)。彩色摄像头最大支持1280*960分辨率成像,红外摄像头最大支持640*480成像。Kinect还搭配了追焦技术,底座马达会随着对焦物体移动跟着转动。Kinect也内建阵列式麦克风,由四个麦克风同时收音,比对后消除杂音,并通过其采集声音进行语音识别和声源定位。


    1.2、软件开发环境

    1.2.1、非官方组合

          一开始微软对Xbox 360推出Kinect的时候,并没有在windows的开发包。而由于Kinect强大的功能和相对低廉的价格,geeks们纷纷表示希望能在电脑上用它。于是就有多位大牛开发了驱动,目前我了解到的有三个:

    1)CL NUI Platform

          由NUI的大牛AlexP开发(他开发的其他著名产品包括PS3的windows驱动),可以这里载,目标平台是windows7,能够获取彩色摄像头,深度传感器以及加速度传感器数据,使用简单方便。

    2)OpenKinect/libfreenect

           由号称第一个破解Kinect的Hector Martin发起,可以到这里下载,目标平台是Linux and Mac,据说有人成功移植到了windows上。因为很多geek都是Mac的拥趸,所以开发参与者众多,不仅仅是个可以获得数据的driver,geek们还写了其他高级的东西,比如我前面提到的骨骼化,将彩色摄像头作为纹理贴在深度数据上等等,很吸引人啊。

    3)OpenNI

           OpenNI(opennatural interface开放自然交互)是一个多语言,跨平台的框架,它定义了编写应用程序,并利用其自然交互的API。可以到这里下载。从名字判断其终极目标大约是实现少数派报告的效果,从目前放出来的一些demo,恐怕已经超越了这个终极目标。它不是专为Kinect开发,但有Kinect的生产商PrimeSense的支持。这个感觉也是目前相对来说用的比较多的非官方组合:SensorKinect + NITE + OpenNI;其中SensorKinect是Kinect的驱动。NITE是PrimeSense提供的中间件,可以分析Kinect读取的资料,输出人体动作等等。

    1.2.2、微软官方SDK

           Kinect体感游戏在Xbox 360 上获得很好的评价,但是对于 Windows 平台上的开发却一直只能使用非官方的解决方案(上面所说),例如NKinect 配合CL NUI SDK;但是微软终于在2011 年 6 月推出了 Kinect forWindows SDK Beta,特别是可以使用 C# 与.NETFramework 4.0 来进行开发。Kinect for Windows SDK主要是针对Windows7设计,内含驱动程序、丰富的原始感测数据流程式开发接口、自然用户接口、安装文件以及参考例程。Kinect for Windows SDK可让使用C++、C#或VisualBasic语言搭配MicrosoftVisualStudio2010工具的程序设计师轻易开发使用。目前最新是V1.6 。

          Kinectfor Windows SDK的下载地址:

    http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/download.aspx

           Kinect SDK目前只支持Windows 7,分为x86和x64两个版本。开发工具方面还需要.NET Framework 4.0和Visual Studio 2010 (最低Express版本)的支持。这个在后面的开发环境的配置中再做介绍。

    1.2.3、非官方和官方开发包的优缺点

    1)官方SDK:

    优点:

           提供了音频支持、调整倾角的转动电机、在全身跟踪骨骼跟踪方面:非标准姿势检测(相对于OpenNi的投降姿势…),头部、手、脚、锁骨检测以及关节遮挡等细节上的处理更为细致(但精度是否更高还不能确定)。此外,支持多传感器(多台Kinect);

    缺点:

           微软对非商业使用的限制。此外,未提供手势识别和跟踪功能,未实现RGB图像/深度图像的互对齐,只是提供了对个体坐标系的对齐。在全身骨骼跟踪中,SDK只计算了关节的位置,并未得出其旋转角度。从可移植的角度来看,SDK beta只能用于Kinect/Win7平台,而OpenNi还至少支持华硕的WAVI Xtion体感设备,今后支持的硬件平台还可能更多。相比较而言SDK beta不支持Unity3D游戏引擎、不支持记录/回放数据写入磁盘、不支持原始红外视频数据流、也不支持像OpenNi一样的角色入场和出场的事件响应机制。

    2)非官方OpenNI/NITE:

    优点:

           可用于商业开发、包含手势识别和跟踪功能、可自动对齐深度图像和RGB图像,全身跟踪、关节旋转角度计算、看起来性能较好、已有众多游戏产品应用、支持记录/回放数据写入磁盘、支持原始红外视频数据流、支持角色入场和出场的事件响应机制。支持Primesense和华硕的WAVI Xtion硬件平台和windows、Linux和Mac等软件平台。自带的代码全面支持Unity3D游戏引擎。

    缺点:

           未提供音频功能、不支持调整倾角的转动电机、在全身跟踪骨骼跟踪方面:无法跟踪头部、手、脚和锁骨的旋转动作,需要标准姿势检测(即著名的投降姿势…),关节遮挡等细节上的处理似乎存在算法bug。不能自动安装并识别Kinect多机环境。安装过程较为繁琐,特别是NITE还要申请开发证书编码。OpenNi也没有提供可用视频和深度图输入的事件触发机制(但OpenNI提供了类似功能的函数可使用,虽然不是回调函数,但是也很好用)。

    总结:

           OpenNI最大的优势就是允许跨平台多设备,以及商业应用。但从原始数据的采集和预处理技术上看,微软的SDK似乎更稳定一些,况且还提供了不错的骨骼和语音支持。对于部分身体部位识别方面的功能,SDKbeta没有提供局部识别和跟踪,这需要自己的后续开发(至少在相当一段时期内微软可能都不会提供此类功能)。OpenNi/NITE虽然提供了手势识别和跟踪,然而在全身骨骼姿势识别和跟踪上还要更多借鉴微软的产品。

    因此,按照目前在社区中的表现,SDK beta和OpenNi/NITE孰优孰劣还真无法一下子确定。而且随着越来越多的开发者加入微软这一方,SDK beta的普及可能会更快,但在更高层次的应用上,对二者的选用往往是需要一定智慧的。

    (这部分参考:http://www.hanyi.name/blog/?p=330

     

    二、Kinect应用开发汇总

          本文(百度文库上面的内容,来源未知)汇总了当前使用Kinect SDK for Windows 开发出的各种各样的应用,点击相应的链接可以看到对应Kinect应用的Demo视频。

     

    虚拟应用

    Kinect试衣镜,这款基于kinect体感技术的神奇的试衣镜,让客户可以快速的试穿衣服,提高销售效率和企业形象。

    http://v.youku.com/v_show/id_XMjU4MjExNjgw.html

    Kinect自制应用3D试衣间

    http://v.youku.com/v_show/id_XMjg0MDA3MDYw.html

     

    3D建模

    3D摄像机, 用两个KINECT实现3D摄像机的基本效果。

    http://v.youku.com/v_show/id_XMjI3MDQ2MjEy.html

    雕塑工具,立等可取Kinect成街头快速人像雕塑工具,利用Kinect对人体进行3D建模,然后根据人体的3D信息,连接相应的塑模设备,塑造出人体塑像。

    http://v.youku.com/v_show/id_XMjU2Njg2MzE2.html

     

    机械控制

    用Kinect 操控遥控直升机 

     http://v.youku.com/v_show/id_XMjgzOTYxODk2.html

    Kinect Robo,使用Kinect作为机器人的头,通过kinect检测周围环境,并进行3D建模,来指导机器人的行动。

    http://v.youku.com/v_show/id_XMjIzNDMyMjg0.html

    Kinect控制高达机械人

    http://v.youku.com/v_show/id_XMjM3NDUxMjg4.html

     

    虚拟乐器

    空气吉他,通过Kinect手势操作虚拟吉他弹奏音乐。

    http://v.youku.com/v_show/id_XMjI5NjM3NzMy.html

    Kinect弹奏中国古代乐器,通过手势的改变可以演奏出不同中国古代乐器的声音。

    http://v.youku.com/v_show/id_XMjI1MDA4MTM2.html

     

    虚拟娱乐

    Kinect破解“初音”,将体感控制应用到漫画人物——初音上。

    http://v.youku.com/v_show/id_XMjMxNjQ5MzAw.html

    变身奥特曼,捕捉玩家骨架数据,虚拟为奥特曼的形态与之随动,并且附加一些特技效果。

    http://v.youku.com/v_show/id_XMjM1MTY1NDY4.html

    Kinect破解玩光剑,Kinect检测玩家的动作,虚拟出光剑的影像,与之随动。

    http://v.youku.com/v_show/id_XMjI0NTIzOTIw.html

     

    计算机相关应用

    Kinect手势操作浏览器,通过Kinect手势对浏览器进行翻页,下拉,放缩等操作。

    http://v.youku.com/v_show/id_XMjI1MjczMzg4.html

    Air Presenter,让你的演讲从此与众不同,用kinect进行演讲的软件。

    http://v.youku.com/v_show/id_XMjU1MTMyNzky.html

    Kinect多点触摸,使用kinect实现隔空多点触摸,浏览图片、地图等。

    http://v.youku.com/v_show/id_XMjM1MzE2MTY0.html

    Kinect体感控制看片,第四军医大学西京医院骨科的医生们将破解的kinect应用在手术室,在术中,手术者可通过体感控制查看患者的影像资料。大大方便了医生手术,减少了手术室的人员流动。

    http://v.youku.com/v_show/id_XMjM2Nzg2NDky.html

     

    虚拟实验

    Kinect蜡笔物理,使用Kinect手势绘图,通过体感控制所绘图形,并使之具有物理特性,比如重力,吸引力等。

    http://v.youku.com/v_show/id_XMjI4MDMwMzM2.html

    用Kinect控制闪电(特斯拉线圈)

    http://v.youku.com/v_show/id_XMjY5NjE2MzQ0.html

     

    游戏

    Kinect破解玩马克思佩恩

    http://v.youku.com/v_show/id_XMjM2NjYxNDg0.html

    kinect破解玩求生之旅2 体感打僵尸

    http://v.youku.com/v_show/id_XMjM3Mjk5MjQw.html

    Kinect破解玩魔兽世界   

    http://v.youku.com/v_show/id_XMjMzMDM1MzI0.html

    Kinect破解玩街头霸王   

    http://v.youku.com/v_show/id_XMjM4MjkzNjA0.html

    Kinect破解玩超级马里奥兄弟 

    http://v.youku.com/v_show/id_XMjI1NzY1OTM2.html

    Kinect破解玩兵者诡道   

    http://v.youku.com/v_show/id_XMjM0NDk2MDg4.html

    Kinect破解玩 现代战争  

    http://v.youku.com/v_show/id_XMjM1NjU4NjE2.html

     

           一群来自卡内基梅隆的学生使用Kinect的交互特点实现了18个各种各种的有趣的想法。他们仅仅用了两周的时间,从大二学生到研究生不等。让我们来看一下他们实现的奇思妙想吧!

           原文及视频信息链接http://golancourses.net/2011spring/projects/project-3-interaction/

    1. Comic Kinect

          此示例主要应用了Kinect的骨架跟踪技术和玩家分段数据,将拳击和脚踢的交互通过可视的漫画效果表现出来,并且同步发出一些拟声效果。

    2. Mario Boo

           当Kinect传感器检测到有人出现在视野内时,会出现一个幽灵保持在人的背后,随着人的运动而运动,并且会根据深度信息的远近而改变自身大小。

    3. Magrathea

           Magrathea使用Kinect根据桌上的任何物体动态的产生地形图。摄像头读取桌上物体的不断变化深度信息,可以展现出类似地球地形逐渐进化的过程。

    4. We be Monsters

           从中午舞狮中获取灵感,运用Kinect的骨架跟踪技术,两个人分别同坐自己的四肢操纵虚拟怪兽的四肢和头尾。

    5. Mix&Match Interaction Toy

           使用了Kinect/OpenNI 骨架技术,使得3张卡片组成的人体可以跟玩家随动,并且通过手的滑动更换图片。

    6. Kinect Flock

           作者创建了一个微粒系统,当用户移动时,像棉絮一样的东西会随之涌动,当用户静止时,则聚集到参与者的深度区域。

    7. roboScan

           roboScan是一个3D模型+扫描仪,将一个Kinect设备固定在一个ABB 4400机械手上。设定好的动作和操作者同时控制机器人和摄像机的3D位置。Kinect的深度数据用来产生一个精确的外部环境的模型。

    8. Neurospasta

            Neurospasta是一个需要全身投入的自由形态游戏平台。参与者可以控制他们各自基于Kinect的木偶,也可以通过功能设定控制别人的化身。

    9. Will-o-the-Wisp

          这个设计充满了神秘色彩,玩家可以控制一个发光的球体,球体根据玩家手的运动而动,根据深度信息变大或变小。

    10. Balloon Grab

           通过检测手掌张开还是握紧的手势,作者开发了一个基于模拟气球飞行的简易小游戏。

    11. Hand-Tracking Visualization

           该软件使用手势控制音频的可视化效果,结合检测到场景中手距Kinect的深度信息。参与者手的位置,速度以及其他参数被用来创建一个交互式的声音的可视化效果。


            感觉Kinect的应用也应景一句话:Kinect的应用取决于你的想象空间!


     

    展开全文
  • 基于kinect v2的人体动作识别,配套博客(http://blog.csdn.net/baolinq/article/),基于mfc,可以识别左移右移、上蹦下跳等,也可以自己自定义其他动作,加一些判定代码即可。使用的时候可能需要自己新建一个工程...
  • Kinect学习(一):开发环境搭建

    万次阅读 2018-06-20 11:27:11
    前言 当初刚进大学时买了一台Xbox 360,为了玩体感游戏另外还买了一个Kinect

    前言

    当初刚进大学时买了一台Xbox 360,为了玩体感游戏另外还买了一个Kinect。为了便于PC端开发,微软提供了一套官方的驱动,当然还有个开源库OpenNI,目前还是先采用微软提供的SDK上手,后续再使用OpenNIR。
    我的开发平台是:Win 10 + VS2015 + Kinect for Windows SDK v1.8 + OpenCV 3.1.0
    系统要是win 7以上的版本,VS要是10以上的版本。
    另外,我用的是kinect一代(Xbox 360)的所以选择了v1.x的SDK,如果是kinect二代(Xbox One)的就要选择v2.x的SDK。

    Kinect for Windows SDK

    1、到微软官网上下载SDK:Kinect for Windows SDK v1.8,下载下来后运行exe文件,等待自动安装结束;
    2、到微软官网下载ToolKit:Kinect for Windows Developer Toolkit v1.8,与前面相同,下载完成后运行exe文件,等待自动安装结束即可;
    3、前面两个都安装完成后,可以连上Kinect(之前安装时不能接Kinect设备,结束后才可以接上),可以在设备管理器中找到Kinect设备,即表示驱动安装成功;
    png
    4、打开“开始-》所有程序-》Kinect for Windows SDK v1.8-》Developer Toolkit Browser v1.8”,可以看到一些开发文档、例程以及一些demo,可以自己运行来玩玩。
    png
    png

    在Visual Studio中配置环境

    前面的步骤还是很简单的,只需要稍微动动鼠标就能搞定。
    如果要使用Visual Studio进行开发,还需要配置include和lib的路径。在项目的属性中找到“VC++目录”。
    1、在包含目录中添加路径:C:\Program Files\Microsoft SDKs\Kinect\v1.8\inc
    png
    png
    2、在库目录中添加路径:C:\Program Files\Microsoft SDKs\Kinect\v1.8\lib\amd64
    png
    png
    补充:库目录下有两个目录,如果是64位就选amd64的目录,如果是32位就选x86的目录。
    png
    3、还需要在链接器-》输入-》附加依赖项,添加Kinect10.lib
    png
    到这里kinect的开发环境已经配置好了,还有一些常用库比如OpenCV什么的,网上有很多详细的教程,就不赘述了。

    展开全文
  • Kinect入门介绍---Kinect V2开发学习(1)

    千次阅读 2019-02-25 16:50:20
    Kinect 传感器的工作原理 Kinect 传感器是美国微软公司 2010 年推出的一款体态感知设备,它不需要用借助任何手柄之类的控制即可完成人与机器的交流,它一经面世便成为了研究的热门。该传感器的核心芯片是 Prime...

    Kinect 传感器的工作原理 

    Kinect 传感器是美国微软公司 2010 年推出的一款体态感知设备,它不需要用借助任何手柄之类的控制即可完成人与机器的交流,它一经面世便成为了研究的热门。该传感器的核心芯片是 PrimeSense 公司设计的,该芯片尤其适合复杂计算与算法设计。

    第一代产品

    Kinect 传感器由四个扬声器,两个麦克风阵列,一个高速 Flash,一个USB2.0 总线接口,三个摄像头,左边为一个红外发射器,可以向周围发射红外激光;右边则为一个红外接收器,用以接收环境中的红外激光散斑,采集周围场景深度信息,通过其内部芯片转换可传送 320×240 分辨率的深度图像。通过插值方法,Kinect 能够提供接近同步的彩色图像和深度图像,且两者分辨率可达到相同,采用简单的校准处理,可将彩色图像与深度图像对齐。

    彩色摄像头用来采集 RGB 图像,通过增量直方图算法计算增量直方图,并通过粒子滤波算法计算权值;另外两个摄像头构成了 3D 深度传感器,其中红外发射器像被测恩替发射激光,CMOS 摄影机通过对反射光的探测获得一个深度场,从而采集深度信息,这些采集到的深度信息可以通过内部芯片转换为深度图像,从而得到被测物体的位置和形状,并且采集到的深度图像以 320x240 的分辨率传送。Kinect 传感器的驱动可以提供几乎同步的 RGB图像流和深度图像流与采集到的 RGB 图像与深度图像的像素点对应起来,通过 Kinect 传感器可以采集到获得基本的影像资料,然后实现对影像资料的辨识。Kinect 的适用范围为 1.2m~3.5m 之间。 

    Kinect 相对普通相机的独特之处在于其使用 TOF(Time of Flying)技术获得景深数据从而生成深度图像,深度图像的每个像素数值都代表Kinect 距离此像素实际对应区域与相机的深度距离,因此 Kinect 能够直接输出三维空间信息。

     利用 Kinect 传感器拍照时,对被测物体周围的环境要求很低,不会受到光照、阴影、物体遮挡等条件所影响。而之所以 Kinect 传感器会具有如此独特的优势,与 Kinect 传感器的成像原理有很大的关系,主要是由于 Kinect 传感器采集的是深度图像的像素灰度值仅与距离有关,换句话说,利用 Kinect 传感器采集的图像信息是被测物体的距离,与其它的外在因素无关,因此,通过深度图像可以得到物体的三维坐标。而灰度值仅与视场 Z 方向有关,正是由于深度图像的这些特性,使得运用深度图像成像的 Kinect 传感器具有很好的鲁棒性。

    OpenNI(opennatural interface开放自然交互)是一个多语言,跨平台的框架,它定义了编写应用程序,并利用其自然交互的API。可以到这里下载。从名字判断其终极目标大约是实现少数派报告的效果,从目前放出来的一些demo,恐怕已经超越了这个终极目标。它不是专为Kinect开发,但有Kinect的生产商PrimeSense的支持。这个感觉也是目前相对来说用的比较多的非官方组合:SensorKinect + NITE + OpenNI;其中SensorKinect是Kinect的驱动。NITE是PrimeSense提供的中间件,可以分析Kinect读取的资料,输出人体动作等等。

    Kinect 的另一个重要软件开发工具即为 Kinect for Windows SDK。Kinect 的 SDK 中含有许多独特的接口,能实现多种功能,比如,可以让操作人员轻松的获取 Kinect 采集的图像信息流数据,并进行一系列的应用开发;还提供有人体骨骼提取和语音识别等功能。SDK 的这些功能使得 Kinect 传感器更为广泛的应用。

    展开全文
  • 为了便于PC端开发,...我的开发平台是:Win 10 + VS2017 + Kinect for Windows SDK v1.8 + OpenCV 3.4.1 系统要是win 7以上的版本,VS要是10以上的版本。 另外,我用的是kinect一代(Xbox 360)的所以选择了v1....
  • Kinect V2的精度及V1的比较

    千次阅读 2018-09-25 20:39:14
    先给出结论,KinectV2的精度在2mm~4mm左右,距离越近精度越高,越远精度稍微差点。对于日常交互的使用,这已经算很高的精度了。   他们测试了五种参数: ...他们在多个位置进行测量,得到kinectV2在不同位置的...
  • 本连载主要是 比较 Kinect for Windows的现行版(v1)和次世代型的开发者预览版(v2), 以C++开发者为背景介绍进化的硬件和软件。本文主要是对 传感的配置和运行条件
  • Kinect安装与使用(一)

    万次阅读 2018-09-03 20:46:17
    一、Kinect的安装 点击下载Kinect for Windows SDK 1.7,并进行安装。 官网给出的安装要求: 支持的操作系统 Windows 7,Windows 8,Windows Embedded Standard 7 硬件要求 您的计算机必须具备以下最低功能: ...
  • Kinect2.0 结合Unity开发记录

    千次阅读 2018-03-19 11:10:15
    之前项目做完好久,后面电脑重装系统了,时间久远 重新弄一次又出一些奇怪的问题,总算弄好了,记录一下。开发环境是Window10.第一步 :首先就是机器了,拆卡装好,在安装好SDK前 先不要连接电脑!...
  • Kinect开发(如何连接电脑)

    万次阅读 2018-01-08 14:33:29
    Kinect设备一台(包括电源线一个,转换器两个,USB3.0接口线,转换器线一个,Kinect连接线一个); 电脑配置: 64位(x64)处理器 i7 2.5-GHz或更高 内置USB3.0接口 4GB RAM DX11图形适配器 Win8/10 2.安装...
  • Kinect深度图与RGB摄像头的标定与配准

    万次阅读 多人点赞 2013-07-07 23:24:48
    自从有了Kinect,根据深度图提取前景就非常方便了。因此出现了很多虚拟现实、视频融合等应用。但是,Kinect自身的RGB摄像头分辨率有限,清晰度也不及一些专业摄像头,因此有了用第三方摄像头代替Kinect摄像头的想法...
  • Kinect

    2015-09-22 16:45:06
    Kinect基本原理,Kinect测量身高,测量三围,抠图等等
  • Kinect

    2019-11-13 21:17:25
    kinect 入门配置 资源整理 链接:https://blog.csdn.net/openbug/article/details/80921437
  • Kinect介绍

    2019-05-12 16:55:25
    (一)Kinect的发展历史 Kinect最早是在2009年6月1日E3 2009上首次公布,当时的代号是“Projet Natal”意为初生,遵循微软以城市名作为开发代号的传统,“Projet Natal”是由来自巴西的微软董事Alex Kipman以巴西...
  • Kinect手势控制鼠标

    千次下载 热门讨论 2011-10-20 22:51:42
    使用OpenNI类库实现。在Kinect的支持下,通过对手势的识别和跟踪,来代替鼠标移动和点击。该程序使人能够徒手控制PC,如用Firefox浏览网页,玩水果忍者等等。此程序为非MFC版本。开发教程:...
  • Kinect

    2016-09-22 17:20:34
    Kinect最早是在2009年6月1日E3 2009上首次公布, 当时的代号是“Projet Natal”意为初生,遵循微软以城市名作为开发代号的传统,“Projet Natal”是由来自巴西的微软董事 Alex Kipman 以巴西城市 Natal, Rio Grande ...
  • ROS下Kinect2的驱动安装及简单应用

    万次阅读 多人点赞 2016-06-13 15:36:46
    本Blog主要介绍Kinect2在Ubuntu下驱动的安装, 并获取Kinect图像以ROS的方式发布到ROS环境中, 最后简要的介绍了一些源码, 以及一些简单的修改
  • Kinect实现简单的三维重建

    万次阅读 多人点赞 2013-03-29 13:02:07
    Kinect想必大家已经很熟悉了,最近基于Kinect的创意应用更是呈井喷状态啊!看到很多国外大牛用Kinect做三维重建,其中最著名的要数来自微软研究院的Kinect Fusion了,可以看看下面这个视频...
  • Kinect Fusion

    千次阅读 2015-12-29 10:40:12
    Kinect Fusion https://msdn.microsoft.com/zh-cn/library/dn188670.aspx Kinect for Windows 1.7, 1.8 2代的fusion What is Kinect Fusion? KinectFusion provides 3D object scan

空空如也

1 2 3 4 5 ... 20
收藏数 16,431
精华内容 6,572
关键字:

kinect