Intel RealSense C# 入门

RealSense C# 入门

 

实感项目想带给你在手机和移动终端上一个支持深度的相机

 

设置

下载安装SDK后目录通常是:

C:\Program Files (x86)\Intel\RSSDK\


是使用前,你要了解两个重要的dll

libpxcclr.cs.dlllibpxccpp2c.dll

第一个提供了C#的所有库文件,第二个提供了C++的库文件,这两个文件都包括32位和64位的,注意根据平台的不同使用对应的库文件。

开始

关于实感的helloworld

首先需要创建一个wpf c#项目,名为starter

 

然后在引用中点击右键

 

在sdk的安装目录选择libpxcclr.cs.dll后,点击确定

 

在项目属性中设置生成事件后将自动复制库文件到对应目录中:

if"$(Platform)" == "x86" ( copy /y"$(RSSDK_DIR)\bin\win32\libpxccpp2c.dll""$(TargetDir)" )else ( copy /y"$(RSSDK_DIR)\bin\x64\libpxccpp2c.dll""$(TargetDir)" )

 

 

在项目设置中的生成设置目标平台为x64

 

在窗口中增加一个按键


双击按钮vs将会生成对应的点击事件


在点击事件中输入,然后F5

PXCMSession pm = PXCMSession.CreateInstance();

PXCMSession.ImplVersion version = pm.QueryVersion();

MessageBox.Show("realsense SDK Ver = " + version.major +"." + version.minor);

你会看到如下结果:

 

获取视频 


使用realSense摄像头获取视频是一个很好的开始。

在窗口中增加一个Image控件用于显示视频。




在窗口中增加一个image控件,和一个新的按钮,双击按钮在事件中写入以下代码:

//实例化管理对象

sm = PXCMSenseManager.CreateInstance();

//开启视频流(有三个视频数据流1颜色2深度3红外,下面是选择的颜色

sm.EnableStream(PXCMCapture.StreamType.STREAM_TYPE_COLOR, 0, 0);

//图像的宽度和高度0为默认

sm.Init();//启动初始

//获取初始化状态异常处理

if (sm.AcquireFrame(true).IsError()) {

    MessageBox.Show("Error");

return;

}

//定义并初始化一个捕获对象

PXCMCapture.Sample sample = sm.QuerySample();

//获取对象中的颜色数据

PXCMImage image2 = sample.color;

//定义一个输出颜色数据

PXCMImage.ImageData colorData;

//使用捕获对象将数据存放到colordata中。

image2.AcquireAccess(PXCMImage.Access.ACCESS_READ,PXCMImage.PixelFormat.PIXEL_FORMAT_RGB32,out colorData);

//将输出数据转化为bmp图片

WriteableBitmap wbm = colorData.ToWritableBitmap(0,image2.info.width, image2.info.height, 72.0, 72.0);

//将bmp图片显示在image控件中。

image.Source = wbm;

//关闭视频

sm.ReleaseFrame();

//关闭会话

sm.Close();



不要问我为什么是黑的,我不会告诉你刚刚打开摄像头就关了,所以是黑的。
### 如何在C#中使用Intel RealSense D455摄像头 为了在C#项目中集成并使用Intel RealSense D455摄像头,开发者需遵循特定的设置指南以及利用官方提供的SDK来实现这一目标。 #### 安装必要的软件包 安装Intel RealSense SDK 2.0对于开发环境至关重要。该SDK支持多种编程语言,其中包括.NET框架下的C#应用。通过NuGet管理器可以轻松添加`Intel.RealSense`库到Visual Studio中的解决方案里[^1]。 #### 初始化RealSense设备 创建一个新的控制台应用程序或其他类型的C#程序之后,在代码文件顶部引入命名空间: ```csharp using Intel.RealSense; ``` 接着实例化Pipeline对象用于配置和启动流传输过程: ```csharp var pipeline = new Pipeline(); pipeline.Start(); ``` 这段简单的初始化逻辑能够开启默认配置的数据流采集工作流程[^2]。 #### 获取图像帧数据 当成功连接至D455相机后,可以通过FrameSet结构体访问每一帧捕获的信息。下面展示了一个基本的例子说明怎样读取彩色视频流画面: ```csharp while (true) { using(var frames = pipeline.WaitForFrames()) { var color = frames.ColorFrame().ToImage(); // Process image data here... Console.WriteLine($"Color Frame: {color.Width}x{color.Height}"); } } ``` 此循环将持续等待新一帧的到来,并将其转换成易于处理的形式以便后续分析或显示操作[^3]。 #### 关闭资源释放 完成所有任务以后记得停止管道并且清理占用的对象以防止内存泄漏等问题发生: ```csharp pipeline.Stop(); ``` 以上就是基于C#平台下操作Intel RealSense D455摄像机的主要步骤概述[^4]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值