我希望有人可以提供一些指导,告诉我如何阅读使用OpenNI2生成的先前录制的.ONI文件。我当前的路径建议我将文件传递给设备,并且它可以处理文件并从中读取而不是相机。类似的东西:
Device device
rc = device.open("C:/Somefolder/depth.oni");
目前,这种情况的任何变化都无法加载设备。任何建议总是非常感谢!
答案 0 :(得分:0)
假设您的file_name是字符串,则可以执行以下操作:
//all variables needed
openni::Device device_;
openni::VideoStream ir_;
openni::VideoStream color_;
openni::Status rc_;
openni::VideoFrameRef irf_;
openni::VideoFrameRef colorf_;
openni::OpenNI::initialize ();
const char *cstr = file_name.c_str();
device_.open(cstr);
ir_.create (device_, openni::SENSOR_DEPTH);
ir_.start ();
device_.setImageRegistrationMode (openni::IMAGE_REGISTRATION_DEPTH_TO_COLOR);
color_.create (device_, openni::SENSOR_COLOR);
color_.start ();
ir_.readFrame (&irf_);
color_.readFrame (&colorf_);
最后两个函数读取深度和rgb帧。 设置注册模式(如果支持)将对齐深度和rgb:)