2011-10-25 127 views
0

我使用openCV,並且在運行代碼時,我的輸出窗口不顯示任何內容(黑屏)。我正在使用我的默認攝像頭。使用OpenCV從網絡攝像頭抓取幀的問題

#include "cv.h" 
#include "highgui.h" 

int main() { 
    //simple camera capture program. 

    IplImage* newImg; 
    CvCapture* capture = cvCaptureFromCAM(0); 

    while(1) { 
    newImg = cvQueryFrame(capture); 
    cvShowImage("src", newImg); 

    if (cvWaitKey(15) == 27) { 
     break; 
    } 
    } 
    return 0; 
} 
+0

您能否提供操作系統和相機供應商信息等詳細信息?它會幫助你獲得更有用的答案。 – mevatron

+0

你是否在Ubuntu 11.04或11.10上偶然? – xamox

+0

@mevatron我使用Windows Vista和netbeans.i一起認爲我的攝像頭不支持。我在我的桌面執行程序,它工作正常。我想以某種方式執行它在我的筆記本電腦上。我的筆記本電腦有一個NVIDIA顯卡。我正在嘗試學習cuda以進行圖像處理。我讀了你需要使用cuda以及opencv的地方。 –

回答

0

您的代碼正常工作。

由於OpenCV僅支持少數攝像頭,因此該問題很可能與您的機器相關。您可能想使用其他庫從相機抓取幀 - (例如V4L?)。

0

您錯過了創建用於顯示圖片的窗口。在此之前,請添加:

cvNamedWindow("src");