PCL-LZF image format writer. More...
#include <pcl/io/lzf_image_io.h>
Public Member Functions |
|
LZFImageWriter () | |
Empty constructor. More... |
|
virtual | ~LZFImageWriter () |
Empty destructor. More... |
|
virtual bool | write (const char *data, std::uint32_t width, std::uint32_t height, const std::string &filename)=0 |
Save an image into PCL-LZF format. More... |
|
virtual bool | writeParameters (const CameraParameters ¶meters, const std::string &filename)=0 |
Write camera parameters to disk. More... |
|
virtual bool | write (const char *data, std::uint32_t width, std::uint32_t height, const CameraParameters ¶meters, const std::string &filename_data, const std::string &filename_xml) |
Save an image and its camera parameters into PCL-LZF format. More... |
|
bool | writeParameter (const double ¶meter, const std::string &tag, const std::string &filename) |
Write a single image/camera parameter to file, given an XML tag. More... |
|
Protected Member Functions |
|
bool | saveImageBlob (const char *data, std::size_t data_size, const std::string &filename) |
Save a compressed image array to disk. More... |
|
std::uint32_t | compress (const char *input, std::uint32_t input_size, std::uint32_t width, std::uint32_t height, const std::string &image_type, char *output) |
Realtime LZF compression. More... |
|
Detailed Description
PCL-LZF image format writer.
The PCL-LZF image format is nothing else but a LZF-modified compression over an existing file type (e.g., PNG). However, in certain situations, like RGB data for example, an [RGBRGB...RGB] array will be first reordered into [RR...RGG...GBB...B] in order to ensure better compression.
The current list of compressors/decompressors include:
- LZF compressed 24-bit [RR...RGG...GBB...B] data
- LZF compressed 8-bit Bayer data
- LZF compressed 16-bit YUV422 data
- LZF compressed 16-bit depth data
Please note that files found using the above mentioned extensions will be treated as such. Inherit from this class and overwrite the I/O methods if you plan to change this behavior.
The main advantage of using the PCL-LZF image I/O routines is a very good file size versus I/O speed ratio. Tests performed using LZF, Snappy, ZIP, GZ2, BZIP2, as well as PNG, JPEG, and TIFF compression have shown that the internal PCL LZF methods provide the best score for the types of applications PCL is suited for.
Definition at line 376 of file lzf_image_io.h.
Constructor & Destructor Documentation
LZFImageWriter()
|
inline |
Empty constructor.
Definition at line 380 of file lzf_image_io.h.
~LZFImageWriter()
|
inlinevirtual |
Empty destructor.
Definition at line 382 of file lzf_image_io.h.
Member Function Documentation
compress()
|
protected |
Realtime LZF compression.
- Parameters
-
[in] input the array to compress [in] input_size the size of the array to compress [in] width the with of the data array [in] height the height of the data array [in] image_type the type of the image to save. This should be an up to 16 characters string describing the data type. Examples are: "bayer8", "rgb24", "yuv422", "depth16". [out] output the compressed output array (must be pre-allocated!)
- Returns
- the number of bytes in the output array
saveImageBlob()
|
protected |
Save a compressed image array to disk.
- Parameters
-
[in] data the data to save [in] data_size the size of the data [in] filename the file name to write the data to
- Returns
- true if operation successful, false otherwise
write() [1/2]
|
inlinevirtual |
Save an image and its camera parameters into PCL-LZF format.
- Parameters
-
[in] data the array holding the image [in] width the with of the data array [in] height the height of the data array [in] parameters the camera parameters [in] filename_data the file name to write the data to [in] filename_xml the file name to write the parameters to
- Returns
- true if operation successful, false otherwise
Definition at line 415 of file lzf_image_io.h.
References pcl::write().
write() [2/2]
|
pure virtual |
Save an image into PCL-LZF format.
Virtual.
- Parameters
-
[in] data the array holding the image [in] width the with of the data array [in] height the height of the data array [in] filename the file name to write
- Returns
- true if operation successful, false otherwise
Implemented in pcl::io::LZFBayer8ImageWriter, pcl::io::LZFYUV422ImageWriter, pcl::io::LZFRGB24ImageWriter, and pcl::io::LZFDepth16ImageWriter.
writeParameter()
bool pcl::io::LZFImageWriter::writeParameter | ( | const double & | parameter, |
const std::string & | tag, | ||
const std::string & | filename | ||
) |
Write a single image/camera parameter to file, given an XML tag.
- Parameters
-
[in] parameter the value of the parameter to write [in] tag the value of the XML tag [in] filename the file name to write
- Returns
-
true if operation successful, false otherwise Example:
pcl::io::LZFDepthImageWriter w;w.writeParameter (0.001, "depth.multiplication_factor", "parameters.xml");
writeParameters()
|
pure virtual |
Write camera parameters to disk.
Virtual.
- Parameters
-
[in] parameters the camera parameters [in] filename the file name to write
- Returns
- true if operation successful, false otherwise
Implemented in pcl::io::LZFRGB24ImageWriter, and pcl::io::LZFDepth16ImageWriter.
The documentation for this class was generated from the following file:
- pcl/io/lzf_image_io.h
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1io_1_1_l_z_f_image_writer.html