RealSense C# 入门
实感项目想带给你在手机和移动终端上一个支持深度的相机
下载安装SDK后目录通常是:
C:\Program Files (x86)\Intel\RSSDK\
是使用前,你要了解两个重要的
dll
libpxcclr.cs.dll
和
libpxccpp2c.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();