(转载请注明出处)
由于上合会议期间外面的快递无法到达市内,F200这些天多半是回不来了。。。
然后就等着我写SR300的吧科科~
上一节的代码的目的是了解SDK的蛋疼,也对手里的摄像头信息有个了解,当我们熟(麻)悉(木)之后很多信息就没必要管了,这节实(不)用(再)为(装)主(哔~),获取R200的彩色、深度和红外帧的数据,转换成Mat类型并显示出来。
看代码吧,到手即用(逃):
查找设备(获取并初始化指定摄像头的Device接口)
这个函数可以和SenseManager配合使用。
初始化SenseManager里面的模块之后,得益于Intel的渣调教,我们不得不自己动手再调一下曝光啥的。
根据iuid查找:
PXCCapture::Device* RealSense::ImplSeek(pxcUID iuid)
{
cout << "目标IUID:" << iuid << endl;
PXCCapture *Capture;
for (uint_fast8_t idx = 0; idx<UINT_FAST8_MAX; idx += 1)
{
PXCSession::ImplDesc Impl = {};
Impl.group = PXCSession::IMPL_GROUP_SENSOR;
Impl.subgroup = PXCSession::IMPL_SUBGROUP_VIDEO_CAPTURE;
retStatus = Session->QueryImpl(&Impl, idx, &Impl);
if (retStatus < PXC_STATUS_NO_ERROR) continue;
cout << "--------------------------------------------------------------------------------------"<<endl;
wcout << "DCM服务:" <<Impl.friendlyName;
cout <<" *** IUID是:"<< Impl.iuid << endl;
retStatus = Session->CreateImpl(&Impl, &Capture);
if (retStatus < PXC_STATUS_NO_ERROR) continue;
dinfo = { 0 };
retStatus = Capture->QueryDeviceInfo(idx, &dinfo);
if (retStatus < PXC_STATUS_NO_ERROR) { cout << "详细信息:获取失败" << endl; continue; }
wcout << "详细信息:" << endl;
wcout << " 名称:" << dinfo.name << " 位于DCM设备索引 " << dinfo.didx << endl;
wcout << " 可使用视频流:";
if (dinfo.streams&PXCCapture::STREAM_TYPE_COLOR) cout << "COLOR ";
if (dinfo.streams&PXCCapture::STREAM_TYPE_DEPTH) cout << "DEPTH ";
if (dinfo.streams&PXCCapture::STREAM_TYPE_IR) cout << "IR ";
if (dinfo.streams&PXCCapture::STREAM_TYPE_LEFT) cout <<