直接上代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Kinect;
using System.Runtime.InteropServices;namespace WpfApplication3
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{[DllImport("User32.dll")]public static extern void LockWorkStation();private KinectSensor _kinect;private short[] PixelData;readonly List<double> PreviousDepthAvgValueList = new List<double>();private const double DepthAvgDiffThreadhold = 300;private const int PrevDepthAvgListLength = 100;public MainWindow(){InitializeComponent();}private void startKinect(){if (KinectSensor.KinectSensors.Count > 0){_kinect = KinectSensor.KinectSensors[0];//MessageBox.Show("kinect 目前的状态为:" + _kinect.Status);_kinect.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30);_kinect.DepthStream.Enable(DepthImageFormat.Resolution640x480Fps30);_kinect.SkeletonStream.Enable();_kinect.DepthFrameReady +=new EventHandler<DepthImageFrameReadyEventArgs>(_kinect_DepthFrameReady);//_kinect.AllFramesReady +=//    new EventHandler<AllFramesReadyEventArgs>(_kinect_AllFramesReady);_kinect.SkeletonFrameReady +=new EventHandler<SkeletonFrameReadyEventArgs>(_kinect_SkeletonFrameReady);//_kinect.DepthStream.Range = DepthRange.Near;_kinect.Start();}//ifelse{MessageBox.Show("没有任何Kinect设备");}}private void stopKinect(){if (_kinect != null){if (_kinect.Status == KinectStatus.Connected){_kinect.Stop();}}//null}//stoppvoid _kinect_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e){using (SkeletonFrame Sframe = e.OpenSkeletonFrame()){if (Sframe == null)return;Skeleton s = GetClosetSkeleton(Sframe);if (s == null)return;if (s.ClippedEdges == FrameEdges.None)return;SkeletonPoint head = s.Joints[JointType.Head].Position;SkeletonPoint centerShoulder = s.Joints[JointType.ShoulderCenter].Position;SkeletonPoint leftFoot = s.Joints[JointType.FootLeft].Position;float height = Math.Abs(head.Y - leftFoot.Y);float heightEx = Math.Abs(head.Y - centerShoulder.Y) + 0.1f;float realHeight = height + heightEx;mylabel.Content = realHeight.ToString();}//susing }const int MaxSkeletonTrackingCount = 6;private Skeleton[] allSkeletons = new Skeleton[MaxSkeletonTrackingCount];Skeleton GetClosetSkeleton(SkeletonFrame frame){frame.CopySkeletonDataTo(allSkeletons);Skeleton closetSkeleton = (from s in allSkeletonswhere s.TrackingState == SkeletonTrackingState.Tracked&& s.Joints[JointType.Head].TrackingState == JointTrackingState.Trackedselect s).OrderBy(s => s.Joints[JointType.Head].Position.Z).FirstOrDefault();return closetSkeleton;}void _kinect_DepthFrameReady(object sender, DepthImageFrameReadyEventArgs e){bool receivedData = false;using (DepthImageFrame DFrame = e.OpenDepthImageFrame()){if (DFrame != null){PixelData = new short[DFrame.PixelDataLength];DFrame.CopyPixelDataTo(PixelData);var depthAvg = PixelData.Average(pixel => pixel);PreviousDepthAvgValueList.Add(depthAvg);var avgOfdepthAvgList = PreviousDepthAvgValueList.Average(value => value);if (PreviousDepthAvgValueList.Count > PrevDepthAvgListLength)PreviousDepthAvgValueList.RemoveAt(0);labelDepthAvg.Content = depthAvg.ToString();lablelAvgOfhistory.Content = avgOfdepthAvgList.ToString();if (PreviousDepthAvgValueList.Count == PrevDepthAvgListLength&&(Math.Abs(avgOfdepthAvgList - depthAvg) > DepthAvgDiffThreadhold)){//mylabel.Content = "true";PreviousDepthAvgValueList.Clear();}//ifelse{//mylabel.Content = "false";}receivedData = true;}//null}//using if (receivedData){BitmapSource source = BitmapSource.Create(640, 480, 96, 96,PixelFormats.Gray16, null, PixelData, 640 * 2);image1.Source = source;}//}private void Window_Loaded(object sender, RoutedEventArgs e){startKinect();}private void Window_Closed(object sender, EventArgs e){stopKinect();}}//class
}//namespace ;

Kinect测量身高相关推荐

  1. Kinect应用开发实战:用最自然的方式与机器对话

    <Kinect应用开发实战:用最自然的方式与机器对话> 基本信息 作者: 余涛 出版社:机械工业出版社 ISBN:9787111400929 上架时间:2012-11-6 出版日期:201 ...

  2. 体感开发学习总结 - 二

    Kinect开发学习笔记之(一)Kinect介绍和应用 http://blog.csdn.net/zouxy09/article/details/8145592 一.Kinect简介       Ki ...

  3. 用python预测小孩的身高体重标准表格_【儿童的标准身高】儿童身高体重标准表2017 儿童身高体重计算公式...

    导读:如何判断婴儿的正常生长身高在其生长发育过程中的重量?我收集了2017年儿童身高为每个人称重标准表.我不再需要用肉眼来判断了~通过比较表格来监控宝宝的成长~宝宝身高体重标准表根据儿童体格发育调查结 ...

  4. 准确测试身高的软件,情侣身高对比软件-身高模拟对比软件预约 v1.0最新版_5577安卓网...

    情侣身高对比软件是一款非常简单实用的身高比较软件!有了它用户就能精准模拟对比身高,一键输入相关数据即可轻松模拟对比,操作简单便捷,喜欢的小伙伴可不要错过哦! [特别说明] 该软件暂未正式上线,敬请期待 ...

  5. 2岁宝宝身高标准 你家宝贝达标了么

    当宝宝在出生之后,家长是非常关心孩子的成长的,每当宝宝长到一定阶段的时候,家长就要看一下那个阶段的发育标准是怎样的,想知道自己的宝宝是否合格,比如宝宝长到两岁了,家长就想要知道关于2岁宝宝身高体重标准 ...

  6. 单/多因素重复测量方差分析

    重复测量方差分析 普通的方差是对于独立的单样本进行一次测量,比如我们在对一个班的前20名测量身高,然后再对后20名同学测量身高,这样我们就是对这个班的同学进行单次测量 重复测量就是每隔一周对两个组的同 ...

  7. matalb曲线图只有点没有线_生长发育的基本规律和身高曲线图应用

    "生长是发育的前提,发育寓于生长之中." 生长发育从医学上来讲是从受精卵开始身体形状和功能完全发育成熟的连续过程,它贯穿胎儿期.儿童期.青春期甚至成年,例如:身体长高变壮,智力变高 ...

  8. 情侣测试身高软件,情侣身高对比软件-身高模拟对比软件预约v1.0最新版_5577安卓网...

    情侣身高对比软件是一款非常简单实用的身高比较软件!有了它用户就能精准模拟对比身高,一键输入相关数据即可轻松模拟对比,操作简单便捷,喜欢的小伙伴可不要错过哦! [特别说明] 该软件暂未正式上线,敬请期待 ...

  9. 苹果手机测距离_iphone 12 pro测身高怎么玩? iPhone12 pro测身高玩法教程分享[多图]-软件教程...

    iphone 12 pro测身高怎样操作?新的相机功能,实现深度使用.通过脉冲形式,掌握长度的数值,让用户更直观查看. 这是iphone系统的一个新功能,使用这个手机的用户,可以使用自己的手机实验一下 ...

  10. python模拟预测孩子身高代码_想知道孩子将来能长多高?用这套公式,多数人都说准...

    宝强夫妇的身高都不算特别高,当初结婚的时候就担心将来孩子的身高会受到自己的影响,所以从孩子出生开始,宝强就想尽办法给孩子补充营养.加强锻炼,希望孩子能把后天的优势发挥出来.在孩子刚出生时,宝强曾经根据 ...

最新文章

  1. 关于EF中批量添加的个人探索
  2. Android短信操作(通过内容提供者)
  3. boost::gil::view_type_from_pixel用法的测试程序
  4. lucene4.7 分页(五)
  5. I/O流(四)—java如何添加到文件尾
  6. 看到一个有趣的东东。
  7. 一些奇妙的线段树操作
  8. atitit. orm框架的hibernate 使用SQLQuery createSQLQuery addEntity
  9. 什么是股票的发行价和市价
  10. Oracle之分析函数
  11. Object.keys()的用法
  12. WPA破解原理简要——无线网络破解续
  13. 只做了delete操作,为啥 ORACLE-01466表定义已更改
  14. ubuntu开机停留在(initramfs)页面
  15. 汉字转换拼音首字母(可以处理部分多音字)
  16. 网易向员工致歉|网易暴力裁员事件:希望网易不要挣了钱,凉了人
  17. 计算机组成原理的exec是什么,exec...
  18. 五、VR视频播放器开发 ---- Android VR视频/Google VR for Android /VR Pano/VR Video
  19. WordPress资源下载主题插件 | WP资源下载管理插件
  20. [Python]不使用kociemba库解魔方

热门文章

  1. JDK源码阅读之Long
  2. Java求 a+aa+aaa+aaaa+a....a 的值
  3. 关于Chrome浏览器书签被更改的分析
  4. 从零实现一个3D建模软件
  5. 第三方API的简单调用
  6. 圆柱体积怎么算立方公式_圆柱的体积换算立方怎么算
  7. 【机器学习】机器学习笔记(吴恩达)
  8. 人工智能标记语言AIML聊天机器人:产生、种类、应用、实例、AIML概述、知识库、公司、业界(20k字经典收藏版)
  9. TCP和UPD的理解
  10. 腐蚀rust服务器命令_腐蚀rust服务器命令一览 腐蚀rust有哪些命令