(一)学习使用realsense相机

来源:互联网 发布:大学生论文单片机课题 编辑:程序博客网 时间:2024/05/16 00:43
(一)PXCSenseManager.CreateInstance();​ //创建一个PXCSenseManager实例

PXCSenseManager是访问相机数据及其它相关算法模块的主要接口。如果我们要访问深度数据,手势或面部识别功能,都必须创建PXCSenseManager的示例。

创建完实例后则可以激活流事件:

例如:PXCSenseManager *psm = PXCSenseManager::CreateInstance();

(二)psm->EnableStream(PXCCapture::STREAM_TYPE_DEPTH);

方法:STREAM_TYPE_DEPTH//深度视频流 ; 方法:STREAM_TYPE_COLOR  //the color stream ; 方法:STREAM_TYPE_IR  //红外视频流

EnableStream方法允许开发人员请求管道流中的某一指定流,在程序中可以调用多次以申请不同的流。

(三)通过调用psm->Init() 将初始化流管道以便使用。 

(四)​AcquireFrame用来获取一帧数据。之后使用ReleaseFrame释放资源。//例如:while (psm->AcquireFrame(true) >= PXC_STATUS_NO_ERROR)

(五)如果要访问数据,首先创建一个Sample结构的实例:

               PXCCapture::Sample *sample = psm->QuerySample();   sample的方法有:color;depth;ir;
colorIm = sample->color;
depthIm = sample->depth;

               Sample结构体维护了一个从多个流里面获取的图像数组。同时它提供了构造函数,用户可以通过流类型访问图像实例。Sample结构的成员与RealSense提供的视频流

类型一致,我们只需访问需要的类型即可。

               QuerySample方法返回在这一时刻所有可用的image(图像)sample。它将返回Sample实例或NULL。

(六)PXCImage ImageData   用来存取深度图像信息,ImageData描述了图像存储细节。例如存储格式,存储缓存以及步长。


                然后调用​AcquireAccess锁定缓存,指定访问格式,像素格式。

               例如:PXCImage *depthIm;//定义一个指针  

                           PXCImage::ImageData depth_data;

                          depthIm->AcquireAccess(PXCImage::ACCESS_READ, &depth_data)

                          Access 枚举表示了数据访问的格式,ACCESS_READ是只读模式,可以读访问。

               

原创粉丝点击