MCPcopy Create free account
hub / github.com/PointCloudLibrary/pcl / writeToDisk

Method writeToDisk

tools/openni_image.cpp:261–314  ·  view source on GitHub ↗

//////////////////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

259 private:
260 ///////////////////////////////////////////////////////////////////////////////////////
261 void
262 writeToDisk (const Frame::ConstPtr& frame)
263 {
264 if (!frame)
265 return;
266
267 FPS_CALC_WRITER ("data write ", buf_);
268 nr_frames_total++;
269
270 const std::string time_string = getTimestamp(frame->time);
271
272 // Save RGB data
273 const std::string rgb_filename = "frame_" + time_string + "_rgb.pclzf";
274 switch (frame->image->getEncoding ())
275 {
276 case openni_wrapper::Image::YUV422:
277 {
278 io::LZFYUV422ImageWriter lrgb;
279 lrgb.write (reinterpret_cast<const char*> (&frame->image->getMetaData ().Data ()[0]), frame->image->getWidth (), frame->image->getHeight (), rgb_filename);
280 break;
281 }
282 case openni_wrapper::Image::RGB:
283 {
284 io::LZFRGB24ImageWriter lrgb;
285 lrgb.write (reinterpret_cast<const char*> (&frame->image->getMetaData ().Data ()[0]), frame->image->getWidth (), frame->image->getHeight (), rgb_filename);
286 break;
287 }
288 case openni_wrapper::Image::BAYER_GRBG:
289 {
290 io::LZFBayer8ImageWriter lrgb;
291 lrgb.write (reinterpret_cast<const char*> (&frame->image->getMetaData ().Data ()[0]), frame->image->getWidth (), frame->image->getHeight (), rgb_filename);
292 break;
293 }
294 }
295
296 // Save depth data
297 const std::string depth_filename = "frame_" + time_string + "_depth.pclzf";
298
299 io::LZFDepth16ImageWriter ld;
300 //io::LZFShift11ImageWriter ld;
301 ld.write (reinterpret_cast<const char*> (&frame->depth_image->getDepthMetaData ().Data ()[0]), frame->depth_image->getWidth (), frame->depth_image->getHeight (), depth_filename);
302
303 // Save depth data
304 const std::string xml_filename = "frame_" + time_string + ".xml";
305
306 io::LZFRGB24ImageWriter lrgb;
307 lrgb.writeParameters (frame->parameters_rgb, xml_filename);
308 ld.writeParameters (frame->parameters_depth, xml_filename);
309 // By default, the z-value depth multiplication factor is written as part of the LZFDepthImageWriter's writeParameters as 0.001
310 // If you want to change that, uncomment the next line and change the value
311 //ld.writeParameter (0.001, "depth.z_multiplication_factor", ss3.str ());
312
313 toggle_one_frame_capture = false;
314 }
315
316 ///////////////////////////////////////////////////////////////////////////////////////
317 void

Callers

nothing calls this directly

Calls 7

getTimestampFunction · 0.85
DataMethod · 0.80
writeParametersMethod · 0.80
writeMethod · 0.45
getMetaDataMethod · 0.45
getWidthMethod · 0.45
getHeightMethod · 0.45

Tested by

no test coverage detected