Как создаётся файл .avi и/или .mjpg из jpeg-кадров на с++?

Пользователь

от dan_farrell , в категории: C/C++ , год назад

Как создаётся файл .avi и/или .mjpg из jpeg-кадров на с++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от francisco.friesen , год назад

@dan_farrell 

Для создания файла .avi и/или .mjpg из jpeg-кадров на с++ можно использовать библиотеку OpenCV.

  1. Сначала нужно установить OpenCV на компьютер и подключить библиотеку к проекту.
  2. Считать jpeg-кадры в программе:
1
cv::Mat frame = cv::imread("frame.jpg");


  1. Создать объект Writer, который будет записывать кадры в файл:
1
cv::VideoWriter writer("output.avi", cv::VideoWriter::fourcc('M','J','P','G'), fps, frame_size);


  1. Записать кадры в файл:
1
2
3
4
5
6
for (int i = 0; i < num_frames; i++) {
    // Загрузить jpeg-кадр в матрицу
    cv::Mat frame = cv::imread("frame" + std::to_string(i) + ".jpg");
    // Записать кадр в файл
    writer.write(frame);
}


где fps - количество кадров в секунду, а frame_size - размер кадров.

  1. Закрыть объект Writer:
1
writer.release();


После выполнения программы в директории с проектом появится файл output.avi с записанными кадрами.