簡體   English   中英

視頻捕獲:框架始終為空-opencv

[英]Video Capture : Frame always empty - opencv

我正在使用openCV 2.4.9版,並且在Mac OSX上使用。 我已經編寫了用於在桌面上加載和顯示視頻的代碼。 但是它似乎永遠都行不通。 我總是將輸出顯示為“框架為空”。 因此,它不會抱怨使用VideoCapture讀取視頻。它無法捕獲任何幀,因此“幀”始終為空。 知道可能是什么問題嗎? 注意:我嘗試了兩種方法來捕獲幀-注釋為try 1和try2。

int main(int argc, const char * argv[])
{
    Mat frame;
    VideoCapture capture_ir("/Users/shreyatandon/Desktop/resize_ir.avi");


    if ( !capture_ir.isOpened() )  // if not success, exit program
    {
        cout << "Cannot open the video file" << endl;
        return -1;
    }

    for (;;){
       // capture_ir.read(frame); //try1
          capture_ir>>frame;       //try2
        if(frame.empty()){
            std::cerr<<"frame is empty"<<std::endl;
            break;
        }
        imshow("", frame);

        waitKey(10);

            break;
    }

    return 0;
}

剛剛使它工作。

Mat current_frame;
VideoCapture video("video.avi");
while(true)
{
    video.read(current_frame);
    imshow("Image",current_frame);
}

如果您在使用avi格式時仍然遇到問題,請查看ffmpeg庫及其依賴項的鏈接。 我嘗試使用自制軟件從頭開始安裝它,並且沒有問題。 干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM