Перейти к содержимому
Compvision.ru

19andrew91

Пользователи
  • Количество публикаций

    1
  • Зарегистрирован

  • Посещение

Репутация

0 Новичек

О 19andrew91

  • Звание
    Новичок
  1. Здравствуйте. Передо мной поставлена задача экспортировать данные полученные от датчиков в формат mp4. Я изучил материла по теме и понял что для этого достаточно циклически записывать кадры через VideoWriter. Но при этом на выходе оказывается пустой файл. cv::VideoWriter out; int FPS = 10; out.open("output_vid.mp4",cv::VideoWriter::fourcc('m','p','4','v'), FPS, cv::Size(800, 600)); Mat data, image; if (datafile.isopen()) { while(!datafile.atEnd()) { ... data.create(height, width, CV_8UC4); //разрешение 800*600 data.convertTo(image, CV_8UC3, 1, 0); //UPD: При конвертации число каналов не меняется. out.write(image); } } out.release(); Операция конвертации была добавлена в результате сравнивая в режиме отладки с кодом туториала. В нем матрица имеет тип CV_8UC3 while (inputVideo.isOpened()) { Mat frame; bool bSuccess = inputVideo.read(frame); if (bSuccess == false) break; out.write(frame); } Что еще нужно учесть? Или это изначально нерабочий вариант и нужно действовать через двойную конвертацию И собирать Mp4 из JPG изображений? Разобрался. Неправильно производил конвертацию. Mat data(800, 600, CV_8UC4); Mat data_exp(800, 600, CV_8UC3); cvtColor(data, data_exp, cv::COLOR_RGBA2RGB );
×