OpenCV JPEG формат изображения в памяти - PullRequest
3 голосов
/ 21 ноября 2010

Есть ли возможность сохранить изображение в строку вместо файла с OpenCV?

Я нашел только эту функцию в документации:

int cvSaveImage(const char* filename, const CvArr* image)

И она может толькосохранить в файлы.

Ответы [ 2 ]

1 голос
/ 21 ноября 2010

Может быть, вы можете просто создать буфер * и скопировать туда свою структуру данных IplImage?Но будьте осторожны, вы должны тщательно скопировать переменные-указатели, такие как imageData, imageDataOrigin и т. Д.

Так что идея состоит в том, чтобы поместить все в ваш буфер так, как вы можете его декодироватьсторона получателя.

А opencv - это библиотека с открытым исходным кодом, и вы можете просто скопировать тело функции opencv savefile, заменяя запись в файле на запись в буфере

1 голос
/ 21 ноября 2010

Как вы хотели закодировать изображение в строке?
Вы могли бы просто хранить значения красного, зеленого и синего в виде строк, разделенных запятыми, но кодирование двоичного изображения как нечто вроде base64 было бы более компактным.

Редактировать: если вы имеете в виду формат jpeq в памяти, см. OpenCV для использования в буферах памяти или указателях файлов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...