Я пытаюсь играть в avi-файл, используя opencv C++ в ubuntu, но я не получаю никакого вывода. Код im using - это стандартный код, который я нашел в Интернете, который используется для воспроизведения AVI-видео, но я не вижу выхода. И да, видео находится в том же каталоге, что и моя папка кода src. Единственное, что я вижу, это то, что на первой итерации цикла while кадр пуст и, следовательно, ломается. но я не знаю, почему это происходит, поскольку видео работает на vlc. Я бы очень признателен за помощь здесь, поскольку я застрял на ней в течение последних 4-5 часов. #include "cv.h" // включить его в используемые основные функции OpenCV. #include "highgui.h" // включить его в функции GUI.OpenCV - Воспроизвести файл AVI
int main(int argc, char** argv)
{
cvNamedWindow("Example3", CV_WINDOW_AUTOSIZE);
//CvCapture* capture = cvCreateFileCapture("20051210-w50s.flv");
CvCapture* capture = cvCreateFileCapture("tree.avi");
/* if(!capture)
{
std::cout <<"Video Not Opened\n";
return -1;
}*/
IplImage* frame = NULL;
while(1) {
frame = cvQueryFrame(capture);
//std::cout << "Inside loop\n";
if (!frame)
break;
cvShowImage("Example3", frame);
char c = cvWaitKey(33);
if (c == 27) break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("Example3");
std::cout << "Hello!";
return 0;
}
Ваш код хорошо работает на моем ПК. – Haris
действительно ?? может ли быть что-то связанное с ffmpeg ?? – ueg1990
Вам нужно иметь ffmpeg. Он установлен в вашей системе? Был ли он установлен при установке OpenCV? Почему вы закомментировали блок 'if (! Capture) {}'? Если он говорит, что видео нельзя открыть, это либо то, что имя файла неправильное, либо у вас нет поддержки для установки ffmpeg. – JonesV