视频数据:深度数据采集(Depth Data)

简介:

深度数据是利用红外发射摄像头发射红外线,用红外接收摄像头接收红外线而形成的图像,在利用发射接收差来计算深度距离,从抓取的图像中我们可以看出,红外图像是有远近梯度的。

新建一个WPF项目,在窗体中添加一个Image控件,Name为img。

后台代码如下:


 
 
  1. //Kinect对象  
  2. KinectSensor kinectsensor = null;  
  3. private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)  
  4. {  
  5.     if (kinectsensor.Status == KinectStatus.Connected)  
  6.     {  
  7.         kinectsensor.Stop();//停止Kinect  
  8.     }  
  9. }  
  10. private void Window_Loaded(object sender, RoutedEventArgs e)  
  11. {  
  12.     foreach (KinectSensor ks in KinectSensor.KinectSensors)  
  13.     {  
  14.         if (ks.Status == KinectStatus.Connected)  
  15.         {                      
  16.             kinectsensor = ks;  
  17.             //设置深度数据流采集参数  
  18.             kinectsensor.DepthStream.Enable(DepthImageFormat.Resolution640x480Fps30);  
  19.             //订阅深度数据流采集事件  
  20.             kinectsensor.DepthFrameReady += kinectsensor_DepthFrameReady;  
  21.             kinectsensor.Start();//启动Kinect  
  22.             this.Title = "Kinect开始工作……";  
  23.             return;  
  24.         }  
  25.     }  
  26. }  
  27. private DepthImagePixel[] depthPixels;//定义字节数组  
  28. private WriteableBitmap DepthBitmap;//定义位图  
  29. void kinectsensor_DepthFrameReady(object sender, DepthImageFrameReadyEventArgs e)  
  30. {              
  31.     using (DepthImageFrame depframe = e.OpenDepthImageFrame())  
  32.     {  
  33.         if (depframe != null)  
  34.         {  
  35.             //初始化字节数组  
  36.             depthPixels = new DepthImagePixel[kinectsensor.DepthStream.FramePixelDataLength];  
  37.             //把深度数据复制到数组中  
  38.             depframe.CopyDepthImagePixelDataTo(depthPixels);  
  39.             //实例化位图对象  
  40.             this.DepthBitmap = new WriteableBitmap(kinectsensor.DepthStream.FrameWidth, kinectsensor.DepthStream.FrameHeight, 96.0, 96.0, PixelFormats.Bgr32, null);  
  41.             //用字节数组数据绘位图  
  42.             this.DepthBitmap.WritePixels(new Int32Rect(0, 0, DepthBitmap.PixelWidth, DepthBitmap.PixelHeight), depthPixels, DepthBitmap.PixelWidth * sizeof(int), 0);  
  43.             //显示位图到图片控件上  
  44.             img.Source = DepthBitmap;  
  45.         }  
  46.     }  
  47. }  

效果如下图:













本文转自桂素伟51CTO博客,原文链接: http://blog.51cto.com/axzxs/1184502,如需转载请自行联系原作者





相关文章
|
人工智能 缓存 并行计算
技术改变AI发展:Ada Lovelace架构解读及RTX 4090性能测试分析(系列三)
简介:随着人工智能(AI)的迅速发展,越来越多的应用需要巨大的GPU计算资源。Ada lovelace(后面简称Ada)是NVIDIA最新的图形处理器架构,随2022年9月20日发布的RTX 4090一起公布。
141954 62
技术改变AI发展:Ada Lovelace架构解读及RTX 4090性能测试分析(系列三)
|
传感器 机器学习/深度学习 算法
Isaac Sim教程01 Isaac Sim介绍
这篇文章是Isaac Sim的入门教程,介绍了NVIDIA Omniverse平台上的Isaac Sim机器人仿真工具包。内容包括Isaac Sim的背景、特点、应用场景、架构和工作流程,以及近期的更新情况。Isaac Sim支持物理精确的仿真和合成数据集的创建,与ROS/ROS2兼容,并能模拟多种传感器数据,适用于机器人导航、操作应用、计算机视觉研究和数据集生成等多种场景。
1640 2
Isaac Sim教程01 Isaac Sim介绍
|
2天前
|
人工智能 运维 安全
|
5天前
|
SpringCloudAlibaba 负载均衡 Dubbo
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
本文对比分析了SpringCloudAlibaba框架下Feign与Dubbo的服务调用性能及差异。Feign基于HTTP协议,使用简单,适合轻量级微服务架构;Dubbo采用RPC通信,性能更优,支持丰富的服务治理功能。通过实际测试,Dubbo在调用性能、负载均衡和服务发现方面表现更出色。两者各有适用场景,可根据项目需求灵活选择。
386 124
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
|
7天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
702 107
|
2天前
|
算法 Python
【轴承故障诊断】一种用于轴承故障诊断的稀疏贝叶斯学习(SBL),两种群稀疏学习算法来提取故障脉冲,第一种仅利用故障脉冲的群稀疏性,第二种则利用故障脉冲的额外周期性行为(Matlab代码实现)
【轴承故障诊断】一种用于轴承故障诊断的稀疏贝叶斯学习(SBL),两种群稀疏学习算法来提取故障脉冲,第一种仅利用故障脉冲的群稀疏性,第二种则利用故障脉冲的额外周期性行为(Matlab代码实现)
223 152
|
4天前
|
Java 数据库 数据安全/隐私保护
Spring 微服务和多租户:处理多个客户端
本文介绍了如何在 Spring Boot 微服务架构中实现多租户。多租户允许单个应用实例为多个客户提供独立服务,尤其适用于 SaaS 应用。文章探讨了多租户的类型、优势与挑战,并详细说明了如何通过 Spring Boot 的灵活配置实现租户隔离、动态租户管理及数据源路由,同时确保数据安全与系统可扩展性。结合微服务的优势,开发者可以构建高效、可维护的多租户系统。
203 127