原文 请戳这里

http://blog.csdn.net/dustpg/article/details/39455813

使用SDK: Kinect for Windows SDK v2.0 public preview1409

同前面,因为SDK未完成,不附上函数/方法/接口的超链接。

是的,微软在9月16日更新了SDK。没看具体更新内容,但是感觉上解决了一些bug,比如x86的Fusion。

这次说说高清面部帧的面部模型。

Kinect 2可以根据面部进行实时面部建模,感觉高大上,但是目前不能捕捉舌头,是个遗憾。

毕竟颜艺中舌头的地位可不低啊。

说到模型自然当然就是顶点集合啦,目前面部模型的定点数是1347,利用GetFaceModelVertexCount获取,

请注意这是函数,而不是宏定义,也就是说强烈建议使用动态分配,而不是静态分配。

嗯,1347,1+3+4+7=15,也就说是三角面咯。但是这节不涉及,毕竟这节是2D的,将顶点显示出来就好了。

怎么获取面部模型呢?首先,面部模型对应的接口是IFaceModel,使用IFaceModel::CalculateVerticesForAlignment

同前面,每(高清面部)帧需要更新面部对齐IHighDefinitionFaceFrame::GetAndRefreshFaceAlignmentResult.


那么怎么获取IFaceModel,一种方法是利用IHighDefinitionFaceFrame::get_FaceModel等(帧源也能),但是这样,

相当于每帧都会创建一个面部模型,即使我们释放掉,内存也没有回收。有点像内存泄漏,不过只是内部引用计数未归零。

这样会严重导致性能。所以使用函数CreateFaceModel即可,看参数名就知道了,很简单。

所以我们的大致步骤:

创建资源与事件

在高清面部临帧事件里面更新 面部对齐, 计算面部模型,将面部模型顶点映射为彩色空间

在刻画是顺便画这些点即可。

当然,还要保证跟踪ID有效,事件模式在多个事件就有点麻烦了,没有轮询模式简单。

为了效率,这里选择ICoordinateMapper::MapCameraPointsToColorSpace即数组转换,省去单个转换中虚函数的开销。

所以我们需要申请两块定点缓存,一个3D的一个2D的。

自然,动态内存分配需要时间,加上假设第一次分配成功但是第二次分配失败还要回滚。这里一次申请即可。

[cpp] view plaincopy
  1. // 创建顶点缓存
  2. if (SUCCEEDED(hr)){
  3. m_pFaceVertices = reinterpret_cast<CameraSpacePoint*>(malloc(
  4. (sizeof(CameraSpacePoint) + sizeof(ColorSpacePoint)) * m_cFaceVerticeCount)
  5. );
  6. if (!m_pFaceVertices) hr = E_OUTOFMEMORY;
  7. }
  8. // 修改数据
  9. if (SUCCEEDED(hr)){
  10. const_cast<const ColorSpacePoint*>(m_ImagaRenderer.data.face_points) =
  11. reinterpret_cast<const ColorSpacePoint*>(m_pFaceVertices + m_cFaceVerticeCount);
  12. const_cast<UINT&>(m_ImagaRenderer.data.face_points_count) = m_cFaceVerticeCount;
  13. }

也算是小技巧吧,不过因为使用了const,所以还有点麻烦。

差不多就是这样:

下载地址....见评论区或者到笔者资源区里面寻找,这连10kb的东西都要审核...

这次是2D,下次是3D,不知道是用D3D,还是抱Unity的大腿....

kinect v2 面部模型相关推荐

  1. 基于kinect v2的模型三维重建算法(个人毕设总结)

    3.29 https://blog.csdn.net/u010848251/article/details/70992345 根据调试中遇到的问题 对文章中的代码进行了修改 问题解决依据: https ...

  2. Kinect for Windows SDK v2.0 开发笔记 (十三) 高清面部帧(4) 面部模型构建器

     (转载请注明出处) 使用SDK: Kinect for Windows SDK v2.0 public preview1409 同前面,因为SDK未完成,不附上函数/方法/接口的超链接. 这次让 ...

  3. Kinect for Windows SDK v2.0 开发笔记 (十二) 高清面部帧(3) 面部模型(2D)

     (转载请注明出处) 使用SDK: Kinect for Windows SDK v2.0 public preview1409 同前面,因为SDK未完成,不附上函数/方法/接口的超链接. 是的, ...

  4. Kinect v2 Examples with-SDK 提示 技巧和示例简介

    原帖:https://rfilkov.com/2015/01/25/kinect-v2-tips-tricks-examples/#t26 所有在KinectScripts文件夹中管理的目的是什么: ...

  5. 深度相机(五)--Kinect v2.0

    原文:http://blog.csdn.net/qq1175421841/article/details/50412994 ----微软Build2012大会:Kinect for Windows P ...

  6. Robotiq+UR3e+Kinect V2 Gazeobo仿真成功,解决robotiq抖动问题

    Robotiq+UR3e+Kinect V2 Gazeobo仿真成功,解决夹爪漂的问题 1.前言 用ur机械臂已经很久了,都是本科大创,本科毕设,现在做.从ubuntu16用到ubuntu18,从UR ...

  7. 【论文翻译】用于移动机器人导航的Kinect v2:评估和建模

    吐槽:哇,为了图像检测的期末报告,我花了两天时间,真是一句一句的翻译过来了. 话说中文网站资料是真的靠不住...为了Kinect2的使用,我在中文网站上摸索了一个多月,自己摸鱼走了快两个月的弯路,原来 ...

  8. ubuntu 16.04 ROS + kinect v2 安装

    参考: ubuntu 16.04 ROS + kinect v2 driver安装方法:安装驱动时遇到的问题及解决方法(1) 以下为参考链接部分内容以及我安装过程中的操作 安装libfreenect2 ...

  9. 【计算机视觉】深度相机(六)--Kinect v2.0 手势样本库制作

    目录为1.如何使用Kinect Studio录制手势剪辑:2.如何使用Visual Gesture Builder创建手势项目:3.如何在我的C#程序中使用手势:4.关于录制.剪辑手势过程中的注意事项 ...

最新文章

  1. 从网页模版切图到网页生成全攻略(转)
  2. bootstrap怎么用_不用自己写css,不用bootstrap,写样式有tailwindcss就足够了
  3. IOS SEL (@selector) 原理及使用总结(一)
  4. python中文件操作中不同的文件操作有何差异_Python学习基础篇 -6: Python中的文件操作...
  5. 硬件结构(中):EqualLogic PS5000 对等存储“动车组”
  6. excel appliacation 不能分配角色_用了5年Excel,换了这个神奇的报表工具,不禁感叹:国产真香...
  7. CSS中属性个属性值怎么区分,[CSS] 详细解释 @media 属性与 (max
  8. 诗与远方:无题(六十八)
  9. cut out数据增强_ChIP-Seq数据分析(PE型)
  10. NodeJS自定义包和模块的导入(require)、导出(exports)
  11. 【印刷技术】印刷油墨的粘度,如何设定?
  12. Ubuntu 双系统安装流程
  13. 纸牌游戏——小猫钓鱼(队列、栈)
  14. 3DS MAX 导入骨骼动画插件
  15. numpy之arange函数
  16. 离谱:火狐浏览器重启后插件,书签,浏览记录全部没了???
  17. ~~因果图法示例分析
  18. 安卓高通Diag命令解析
  19. 网络爬虫框架——Scrapy框架解析
  20. Using XSS to bypass CSRF protection

热门文章

  1. 微信跳转,wxtz,跳转微信关注公众号
  2. Qt之界面实现技巧——包括任务栏不显示,自定义窗体,最大化最小化按钮等等全面总结
  3. iOS 如何查看SDK版本
  4. 展示 用户画像_案例分析:如何建立一个产品的用户画像?
  5. Auto-Rooting Script(全自动提权脚本)
  6. python数据分析之pandas数据合并
  7. 第二届太原理工大学程序设计新生赛决赛-(Cappuccino ~ the end of journey-M)简单模拟
  8. FPGA三大串行通信接口之UART
  9. 【考研】 2021年哈尔滨工业大学计算机考研「初试」经验贴
  10. 计算机视觉 牛人主页