Ubuntu下使用USB網路攝影機出現的一個非常奇怪的問題

來源:互聯網
上載者:User

 

前幾日給項目在寫視訊交談的功能的時候遇到了一個很是奇怪的問題.我是在Backtrack5 也就是(ubuntu10.04)下使用Qt+openCV採集網路攝影機資料然後編碼傳輸的.剛開始編譯完openCV2.3之後是沒有問題的,能正常的採集到網路攝影機資料.但是很奇怪的事情是,當我重啟機子之後切換到另外一個系統(windows的系統)之後,再過一段時間再重啟,切換回Backtrack5.這個時候我之前寫的程式就不能運行了.

 

       期間我除了切換了一次系統,其他什麼操作都沒有作過,就是一個Backtrack5->win7->Backtrack5這麼一個過程我的程式就沒有辦法運行了,跟蹤一看,發現是在這句

 

IplImage *cvimage = cvQueryFrame(camera); 

並沒有捕獲到資料,cvimage變成了野指標,之後在使用cvimage的時候便錯了

最開始我以為是網路攝影機的問題沒有捕獲到資料,換了一個新的,問題依舊.

 

然後我懷疑是不是USB驅動的問題,但是我插上隨身碟的時候運行完好....

 

在命令列下輸入lsusb能發現網路攝影機,但是ls /dev/video0 卻顯示檔案不存在.....這樣讓我很是懷疑網路攝影機的

 

驅動是不是有問題.

 

繼續跟著男人的第六感走,下載了一個法國醫生寫的驅動,準備編譯的時候卻百度到另外一篇文章說這個前輩寫

 

的驅動都已經整合到Linux的核心中去了......仔細想一想順利關機也不會關驅動什麼事情,不可能關機了驅動

 

就有問題了....

 

百般無奈,我只能切換到win7去繼續寫.......在win7下一切正常. 有句話說難題總是不經意之間便解決了,我腳

 

賤不小心踢電源線,機子關機趁開機的小空隙我去沖了一杯G7,回來的時候應進到BackTrack5的案頭了.. 沒想到

 

這個時候我運行My Code,竟然一切都正常了.視頻資料能正常顯示出來,在終端輸入

 

ls /dev/video0 的時候不再顯示找不到檔案,而是黃字顯示video0......我認為這一切都是巧合就沒有記在心上

 

今天這個奇怪的問題又出現了....我關機在開機之後原先運行好好的程式又和之前一樣了..

 

這次我切換到XP 直接開啟網路攝影機能正常顯示,然後再切換回BackTrack5 OK程式又正常了...嗯看來真不是巧合.

 

總結如下

 

當在BackTrack5(Ubuntu10.04)突然網路攝影機用不了的時候.... 切換到windows下用任何一個程式開啟一次網路攝影機讓

 

它正常顯示,然後就可以重啟切換到你的ubuntu下繼續代碼了......

 

雖然問題是解決了,但是其中的原理我還是不懂,百度Google了許久發現類似問題的很多,但是都沒有一個明確的答案,

 

基本是聊著聊著就沒有下文了.

 

期待大牛幫忙解釋下

 

摘自 wzg_j的專欄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.