Средство записи изображений в формате PCL-LZF. Подробнее...
#include <pcl/io/lzf_image_io.h>
Общедоступные функции-члены | |
| LZFImageWriter ()=default | |
| Пустой конструктор. Подробнее... |
|
| virtual | ~LZFImageWriter ()=default |
| Пустой деструктор. Подробнее... |
|
| virtual bool | write (const char *data, std::uint32_t width, std::uint32_t height, const std::string &filename)=0 |
| Сохранить изображение в формате PCL-LZF. Подробнее... |
|
| virtual bool | writeParameters (const CameraParameters ¶meters, const std::string &filename)=0 |
| Записать параметры камеры на диск. Подробнее... |
|
| 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) |
| Сохранить изображение и параметры камеры в формате PCL-LZF. Подробнее... |
|
| bool | writeParameter (const double ¶meter, const std::string &tag, const std::string &filename) |
| Записать в файл отдельный параметр изображения/камеры, заданный тегом XML. Подробнее... |
|
Защищённые функции-члены | |
| bool | saveImageBlob (const char *data, std::size_t data_size, const std::string &filename) |
| Сохранить сжатый массив изображения на диск. Подробнее... |
|
| 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) |
| Сжатие LZF в реальном времени. Подробнее... |
|
Подробное описание
Средство записи изображений в формате PCL-LZF.
Формат изображений PCL-LZF представляет собой сжатие LZF, применённое к существующему типу файлов (например, PNG). Однако в некоторых случаях, например для данных RGB, массив [RGBRGB...RGB] сначала преобразуется в [RR...RGG...GBB...B], чтобы обеспечить более высокую степень сжатия.
В настоящее время доступны следующие средства сжатия/распаковки:
- Данные [RR...RGG...GBB...B] с глубиной 24 бита, сжатые методом LZF
- Данные Bayer с глубиной 8 бит, сжатые методом LZF
- Данные YUV422 с глубиной 16 бит, сжатые методом LZF
- Данные глубины с глубиной 16 бит, сжатые методом LZF
Обратите внимание: файлы с указанными выше расширениями будут обрабатываться соответствующим образом. Если вы хотите изменить это поведение, унаследуйте этот класс и переопределите методы ввода-вывода.
Главное преимущество процедур ввода-вывода изображений PCL-LZF — очень хорошее соотношение размера файла и скорости ввода-вывода. Испытания с использованием сжатия LZF, Snappy, ZIP, GZ2, BZIP2, а также PNG, JPEG и TIFF показали, что встроенные методы PCL LZF обеспечивают наилучшие результаты для типов приложений, для которых предназначена PCL.
Определение находится в строке 374 файла lzf_image_io.h.
Описание конструкторов и деструктора
LZFImageWriter()
| по умолчанию |
Пустой конструктор.
~LZFImageWriter()
| virtualпо умолчанию |
Пустой деструктор.
Описание функций-членов
compress()
| защищённый |
Сжатие LZF в реальном времени.
- Параметры
-
[in] input массив для сжатия [in] input_size размер массива для сжатия [in] width ширина массива данных [in] height высота массива данных [in] image_type тип сохраняемого изображения. Это должна быть строка длиной не более 16 символов, описывающая тип данных. Примеры: "bayer8", "rgb24", "yuv422", "depth16". [out] output массив сжатых выходных данных (должен быть предварительно выделен!)
- Возвращает
- количество байтов в выходном массиве
saveImageBlob()
| защищённый |
Сохранить сжатый массив изображения на диск.
- Параметры
-
[in] data данные для сохранения [in] data_size размер данных [in] filename имя файла, в который записываются данные
- Возвращает
- true, если операция выполнена успешно, иначе false
write() [1/2]
| встроенныйвиртуальный |
Сохранить изображение и параметры камеры в формате PCL-LZF.
- Параметры
-
[in] data массив, содержащий изображение [in] width ширина массива данных [in] height высота массива данных [in] parameters параметры камеры [in] filename_data имя файла, в который записываются данные [in] filename_xml имя файла, в который записываются параметры
- Возвращает
- true, если операция выполнена успешно, иначе false
Определение находится в строке 413 файла lzf_image_io.h.
Ссылки: pcl::write().
write() [2/2]
| чисто виртуальный |
Сохранить изображение в формате PCL-LZF.
Виртуальный метод.
- Параметры
-
[in] data массив, содержащий изображение [in] width ширина массива данных [in] height высота массива данных [in] filename имя файла для записи
- Возвращает
- true, если операция выполнена успешно, иначе false
Реализован в классах pcl::io::LZFBayer8ImageWriter, pcl::io::LZFYUV422ImageWriter, pcl::io::LZFRGB24ImageWriter и pcl::io::LZFDepth16ImageWriter.
writeParameter()
| bool pcl::io::LZFImageWriter::writeParameter | ( | const double & | parameter, |
| const std::string & | tag, | ||
| const std::string & | filename | ||
| ) |
Записать в файл отдельный параметр изображения/камеры, заданный тегом XML.
- Параметры
-
[in] parameter значение записываемого параметра [in] tag значение тега XML [in] filename имя файла для записи
- Возвращает
- true, если операция выполнена успешно, иначе false. Пример:
pcl::io::LZFDepthImageWriter w; w.writeParameter (0.001, "depth.multiplication_factor", "parameters.xml");
writeParameters()
| чисто виртуальный |
Записать параметры камеры на диск.
Виртуальный метод.
- Параметры
-
[in] parameters параметры камеры [in] filename имя файла для записи
- Возвращает
- true, если операция выполнена успешно, иначе false
Реализован в классах pcl::io::LZFRGB24ImageWriter и pcl::io::LZFDepth16ImageWriter.
Документация этого класса создана на основе следующего файла:
- 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