Преобразование формата изображения jpeg в формат tiff

#opencv #image-processing #libjpeg

#opencv #обработка изображений #libjpeg

Вопрос:

Я использую OpenCV и libjpeg есть ли способ преобразовать черно-белое изображение jpeg в формат Tiff, мне нужно сделать это без сохранения CV :: mat в файл?

Спасибо

Комментарии:

1. Вы рассматривали imencode ?

2. есть способ преобразовать его обратно в мат tiff?

3. TIFF — это формат файла, он не имеет ничего общего с Mat . Это то же самое, независимо от того, что вы с ним делаете — изображения просто декодируются при вас imread и кодируются при вас imwrite (или imdecode и imencode из / в буферы памяти).

4. спасибо, а как насчет соглашения о переходе в формат tiff из jpeg?

Ответ №1:

Вы можете использовать cv::imencode(), чтобы взять формат и закодировать его в вектор байтов:

 // bool imencode(const stringamp; ext, InputArray img, vector<uchar>amp; buf, const vector<int>amp; params=vector<int>())¶

cv::Mat image = cv::imread("image.jpg");
std::vector<uchar> buf;
imencode(".tiff", image, buf);
  

Результат, закодированный в формате TIFF, находится в формате buf.