我想在ubuntu中使用opencv C++播放avi文件,但我沒有輸出。我使用的代碼是一個標準的代碼,我在網上發現,用於播放avi視頻,但我看不到任何輸出。是的,視頻和我的src代碼文件夾在同一個目錄下。我看到的唯一的事情是,在while循環的第一次迭代中,幀是空的,因此中斷。但我不知道爲什麼它發生在視頻正在使用vlc。我非常感謝這裏的一些幫助,因爲我在過去的4-5個小時裏一直堅持下去。 #include「cv.h」//將其包含到使用的Main 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