Ошибки OpenCV VideoWriter на Mac

0

Я пробую этот код:

//[Code omitted ...]
Mat outputframe (frame1.rows*2, frame1.cols*4,CV_8UC3);
VideoCapture myvideo(path);
VideoWriter outputVideo;
outputVideo.open(outputName, CV_FOURCC_DEFAULT, myvideo.get(CV_CAP_PROP_FPS),(outputframe.size()),true);
//[Code omitted:Start cycling on the video and]
Mat elaboratedFrame(frame1.rows*2, frame1.cols*4,CV_8UC3)
//[Code omitted:Elaborating the frame "elaboratedFrame"]
elaboratedFrame.copyTo(outputframe);
outputVideo<< outputframe;
//[Code omitted ...]

Я нахожусь на Mac (OSX Lion и OpenCV 2.4.6, установленный через macports), и каждый раз, когда я пытаюсь запустить код, я получаю: 1) В строке, где я открываю выходное видео:

ПРЕДУПРЕЖДЕНИЕ: Невозможно создать пустой контейнер фильма.

2) Когда я запускаю программу, я получаю эту ошибку в строке VideoWriter:

Ошибка OpenCV: утверждение не выполнено (dst.data == dst0.data) в cvCvtColor

ИЛИ (если я пытаюсь использовать cvtColor(elaboratedFrame, outputframe, CV_GRAY2RGB);

Ошибка OpenCV: утверждение не выполнено (scn == 3 || scn == 4) в cvtColor

Программа obviusly ничего не создает и ничего не меняется, если я выбрал другой кодек (MP4, MPEG, MJPG, FFMPEG ecc). Я злюсь на эту ошибку. Любой, кто выпустил ту же проблему и, возможно, решил ее? Спасибо всем заранее.

  • 0
    Я решил проблему с предупреждением: это было связано с ошибкой при создании пути назначения для видео. Все еще остается проблема 2
Теги:
opencv
macos
macports

1 ответ

0
Лучший ответ

Я решил проблему. Я допустил много ошибок:

1) Mat outputframe (frame1.rows*2, frame1.cols*4,CV_8UC3); У меня есть фактическая информация frame1 в строке после этой декларации. Это вызвало

Ошибка OpenCV: утверждение не выполнено (dst.data == dst0.data) в cvCvtColor

2) Я допустил ошибку в создании правильного пути к файлу для файла. Это вызвало

ПРЕДУПРЕЖДЕНИЕ: Невозможно создать пустой контейнер фильма.

3) Последнее утверждение было ошибкой cvtColor(elaboratedFrame, outputframe, CV_GRAY2RGB); что было неправильно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню