2011-10-10 47 views
1

我在Ubuntu 11.04中使用OpenCV2.2。使用code :: blocks 10.05 IDE。用openCV中的簡單代碼測試網絡攝像頭以從網絡攝像頭捕捉視頻。但是,cvCreateCameraCapture(index)總是返回null(顯示0錯誤,0警告)。 我檢查了索引{-5到+5}。我的宏碁Aspire 4736z的內置攝像頭可以和奶酪一起使用。示出的lsusb:cvCreateCameraCapture不工作

總線002的設備002:ID 04f2:B044羣光電子有限公司宏基CrystalEye網絡攝像頭

裝置安裝的驅動程序。

的grep -i爲v41 /無功/日誌/的udev回報

ID_V4L_VERSION = 2

ID_V4L_PRODUCT =視頻攝像頭

ID_V4L_CAPABILITIES =:捕獲:

DEVLINKS =/dev/v4l/by-id/usb-Chicony_Electronics_Co .__ Ltd._Video_WebCam_SN0001-video-index0/dev/v4l/by-pa TH/PCI-0000:00:1d.7-USB-0:4:1.0 - 視頻索引0

也跟着這樣的:cvCreateCameraCapture returns null ,但一無所獲。

代碼是:

int main(int argc, char**argv) 
{ 
    IplImage *img;  

    char ch;  

    int c;  

    CvCapture *capture= cvCreateCameraCapture(0);  

    cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);  

    if(!capture)  
     printf("Camera Not Initialized");return 0; 

    while (capture) 
    {  
     img=cvQueryFrame(capture); 

     cvShowImage("Example1",img); 

     ch=cvWaitKey(33); 

     if(ch==32)  
      break;  
    } 

    cvReleaseImage(&img); 

    cvDestroyWindow("Example1");  
}  

輸出窗口: 相機未初始化

過程返回0(0X0)執行時間:0.155s

按下確認鍵以繼續。

請幫我解決問題,爲什麼相機不工作?

+0

你能訪問和v4l2ucp控制攝像機?另外,您是否使用所有必需的ffmpeg依賴關係自己編譯OpenCV? – mevatron

回答

0

嘗試重新編譯OpenCV,確保您符合所有依賴關係(see here)。

另外,使用新

CvCapture* cam = cvCaptureFromCAM(CV_CAP_ANY);