Как в opencv преобразовать кадр, хранящийся в объекте класса Mat при получении кадра с веб камеры в jpeg? С++
Как в opencv преобразовать кадр, хранящийся в объекте класса Mat при получении кадра с веб камеры в jpeg не выводя в файл? Мне нужно отправлять полученный jpeg по сети, по этому нужно получить его внутри программы и знать размер байтового буфера, как это сделать?
#include <opencv2/core/utility.hpp>
#include "opencv2/videoio.hpp"
#include "opencv2/highgui.hpp"
using namespace cv;
int main() {
Mat frame;
VideoCapture cap;
cap.open(0);
cap >> frame;
return 0;
}
Что нужно добавить в следующий код?
Ответы (1 шт):
Автор решения: Andrej Levkovitch
→ Ссылка
Для этого можно использовать функцию cv::imencode из модуля imgcodecs. Использование тривиальное:
std::vector<uchar> buf;
cv::imencode(".jpeg", image, buf);
Есть еще и четвертый аргумент: параметры сериализации, в данном случае они пустые