ошибка при записи видео на диск с помощью openCV - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь использовать openCV 4.2.0 для записи видео на диск. Я инициализирую его следующим образом.

cv::VideoWriter writer("image.avi", cv::VideoWriter::fourcc('M', 'J', 'P', 'G'), 100, cv::Size(IMAGE_WIDTH, IMAGE_HEIGHT), false);

if (!writer.isOpened()) {
    throw std::system_error(10, std::generic_category(), "Cannot open video writer");
}

outputVideo = &writer;

Дело в том, что первая строка всегда завершается ошибкой:

[ERROR:0] global C:\Users\mialland\Documents\Aryballe\Projects\opencv\opencv-4.2.0\modules\videoio\src\cap.cpp (415) cv::VideoWriter::open VIDEOIO(CV_IMAGES): raised OpenCV exception:
OpenCV(4.2.0) C:\Users\mialland\Documents\Aryballe\Projects\opencv\opencv-4.2.0\modules\videoio\src\cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: can't find starting number (in the name of file): image.avi in function 'cv::icvExtractPattern'

Я не понимаю, как я следовал нескольким учебникам, и ничто не кажется неправильным .

1 Ответ

0 голосов
/ 30 марта 2020

я проверил мой видео код c в системной информации -> компонент -> мультимедиа -> видео кодеки. У меня есть только iyuv_32.dll, msrle32.dll, msvidc32.dll, msyuv.dll, tsbyuv.dll. Кажется, у меня нет mjpg, который я пытаюсь загрузить, но я не уверен, как мне прочитать эти названия. но не должен ли MJPG код c быть родным в вдовах? (я на windows 10)

Тем не менее, моя цель - сохранить видео со сжатием без потерь. Видео только серого цвета. Есть ли какой-нибудь код c, который я должен использовать?

РЕДАКТИРОВАТЬ : я скачал код лагарита c и изменил предыдущую строку следующим образом, но у меня все еще есть та же проблема:

cv::VideoWriter writer(fileName, cv::VideoWriter::fourcc('L', 'A', 'G', 'S'), fps, cv::Size(IMAGE_WIDTH, IMAGE_HEIGHT), false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...