#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.