2011-07-18 46 views
1

我試圖讓一個應用程序在Ubuntu 11.04下使用OpenCV 2.3.0(stable)和最新的SVN修訂版。該代碼完美工作在Windows下。OpenCV 2.3.0+:cvCaptureFromCAM返回null

//includes etc... 
int main(){ 
CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANY); 


if (!capture) { //is always "NULL" here 
    fprintf(stderr, "ERROR: capture is NULL \n"); 
    getchar(); 
    return -1; 
} 
} 

OpenCV 2.3有一次工作,但現在它拒絕自上次Ubuntu更新或其他什麼工作。 是否有可能讓更新的圖書館工作?

我恢復到了現在可以運行的Ubuntu發行的庫,但如果我能說服最新的穩定版本也能工作,那將是一件好事。

+0

Ubuntu更新後,您的網絡攝像頭是否可以與任何已安裝的軟件一起使用? – karlphillip

+0

某些軟件是否爲自己搶奪了相機?例如,Skype突然做視頻並在啓動時掛在相機上 –

+0

是的,我恢復到了Ubuntu附帶的2.1.0版本。現在它再次運作。奶酪的工作,以便攝像頭工作。該攝像頭無需任何其他軟件,因此無需第三方應用程序。即使沒有別的運行,此函數的返回值爲NULL。所以沒有第三次申請衝突我注意到版本2.1丟失了一個很大的性能,這就是爲什麼我要安裝新版本的原因。 – kneo

回答

0

您可以嘗試使用strace並查看哪個步驟失敗。例如,它可能會嘗試打開不存在的設備文件(/dev/something),或者您可能在訪問權限方面存在問題。無論如何,

+0

當我降級到現在可用的OpenCV 2.1時,我沒有更改權限。如果出現許可問題,它現在不應該工作。 – kneo