Недавно у меня возникли проблемы с преобразованием кадра Mat, снятого с моей веб-камеры OpenCV, в обычный массив символов без знака JPEG.Я пробовал один или два пути в Google, но результат, кажется, не правильный массив jpeg uchar.Вот фрагмент моего кода:
VideoCapture cap(0);
if(!cap.isOpened())
return -1;
Mat frame;
cap >> frame;
if( frame.empty())
return -1;
int size = frame.total() * frame.elemSize();
unsigned char* buffer = new unsigned char[size];
memcpy(buffer, frame.data, size * sizeof(unsigned char));
Затем я использовал fwrite , чтобы записать этот буфер в file.jpg (это выглядит глупо, но работаетесли буфер правильный), но файл не может быть открыт или определен как изображение JPEG.
Может кто-нибудь помочь мне разобраться?