1. 程式人生 > >樹莓派3 opencv呼叫攝像頭(C++和Python)

樹莓派3 opencv呼叫攝像頭(C++和Python)

安裝環境 : ubuntu 16.04

樹莓派利用基於C++的opencv的CaptureVideo函式呼叫外部攝像頭,比如usb攝像頭等是沒有問題的,但是無法呼叫自帶的攝像頭,因此需喲通過呼叫其他的函式或者改變自帶CSI攝像頭的屬性設定才可以獲取實時影象等。

python

  • picamera就可以直接呼叫自帶的攝像頭,並且支援實時顯示、抓拍等
  • 上面的連結詳細介紹了攝像頭的使能與呼叫等
  • 基於這個庫,獲得實時影象,即可利用opencv進行後續的處理等

C++

  • 補充:根據評論區的大神的回覆,成功地利用C++讀取了自帶的攝像頭的資料!!
    • 他的解決辦法如下:開啟/etc/
      下面的modules-load.d/rpi-camera.conf。在最後新增一行 bcm2835-v4l2意思是在系統啟動之後載入bcm2835-v4l2這個模組。然後重啟,會發現/dev/下面發現video0裝置節點,opencv就能正常呼叫了

這兩個最後我都沒有配置成功,其中uv4l-raspicam的庫安裝失敗,目測和我的樹莓派上的系統有關(它要求是wheezy或者另外一個,我的是ubuntu,估計版本不支援),所以用了python進行後續的開發了。。。

  • 使用usb攝像頭時,opencv可以直接識別,無需安裝驅動等。

注意

  • 在安裝的過程中,儘量不要更新韌體,否則會有很多麻煩。。各種蜜汁bug

相關推薦

樹莓3 opencv呼叫攝像頭C++Python

安裝環境 : ubuntu 16.04 樹莓派利用基於C++的opencv的CaptureVideo函式呼叫外部攝像頭,比如usb攝像頭等是沒有問題的,但是無法呼叫自帶的攝像頭,因此需喲通過呼叫其他的函式或者改變自帶CSI攝像頭的屬性設定才可以獲取實時

樹莓3入手環境搭建QT+OpenCV

1.樹莓派3出來已經有一段時間了,作為學計算機的我當然也不能落伍,果斷也入手的一部。今天就和大家介紹一下樹莓派3入手環境搭建方面的一些個人經驗。 2. 今天主要和大家分享一下樹莓派環境下QT5環境和OpenCV環境的搭建。 注:因為樹莓派3自帶無線網絡卡所以這就很方便了,我

樹莓3使用USB攝像頭

鄭曉使用的是一個usb介面的免驅攝像頭,插在樹莓派的任意一個usb介面。 命令列下檢視/dev/下有video0的裝置,如下圖: 執行lsusb命令,有相關攝像頭的資訊,如下圖: 安裝fswebcam,用於訪問攝像頭、進行拍照等。 sudo apt-get insta

樹莓3使用CSI攝像頭,遠端連線

樹莓派3中安裝VLC程式:sudo apt-get -y install vlc 然後寫入配置等引數:raspivid -o - -t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standa

樹莓3無顯示器系統燒錄遠端管理

一、所需裝置 硬體:樹莓派3、膝上型電腦、讀卡器、至少8G以上tf卡、網線、給樹莓派供電線(一般手機充電線即可) 軟體:win32diskimages、putty 二、操作流程 (一)系統燒錄 1、下

初次使用樹莓並啟用root管理員登入root管理員

初次使用樹莓派系統時,預設使用者是pi ,密碼為raspberry。 要想使用root帳號,或者說開啟root使用者,可使用pi使用者登入,執行下面命令(此命令是給root賬戶設定密碼的,當切換到root管理員後,此命令無效) sudo passwd root 說

樹莓3B製作無線wifiAP with hostapd

參考:https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/這是一款新型的樹莓派,並且自帶wifi模組,不用大家自己另購,很是方便。網上寫樹莓派做wifi的文件不少但

樹莓做系統備份映象for Linux & Mac

準備一個SD卡讓你花費了一些時間,不是麼?我打賭你肯定不想再做一遍,對吧?好吧,我們來做一個備份! 論壇使用者,使用MAC並且是Adafruit的客戶phil.drummond根據他自己的發現找到了最好的備份系統映象的方法。 並且他找到了一個十分快速而簡單的方法 – 一個快速建立一個正在執行的樹莓派系統的克

LintCode日記——兩個字符串是變位詞C++,Python

函數 ring sort code 日記 解決 str 字符 題目 題目描述: 寫出一個函數 anagram(s, t) 判斷兩個字符串是否可以通過改變字母的順序變成一樣的字符串。 解題思路: C++:引入哈希的思維,這道題就迎刃而解了。 C++ Code: class S

旋轉數組的最小數字C++ Python 實現

ram 兩個 requires images red 輸入 off internet iat (說明:本博客中的題目、題目詳細說明及參考代碼均摘自 “何海濤《劍指Offer:名企面試官精講典型編程題》2012年”) 題目   把一個數組最開始的若幹個元素搬到數組的末尾,我們

數值的整數次方C++ Python 實現

n-n style elif function program ava right 直接 including (說明:本博客中的題目、題目詳細說明及參考代碼均摘自 “何海濤《劍指Offer:名企面試官精講典型編程題》2012年”) 題目   實現函數 double Powe

leetcode 141 判斷連結串列是否有環C++python實現

【解題思路】 方法一:使用set來判重,每到一個新節點,判斷set中有沒有這個節點。時間複雜度為O(n*1),1代表每次查set。 方法二:龜兔賽跑。快和慢兩個指標,如果有環,則一定會相遇。具體見下面的程式碼:  【C++】 cla

Leetcode206 反轉連結串列C++python實現

面試經常會考的題,先來看C++: class Solution { public: ListNode* reverseList(ListNode* head) { ListNode* cur = head; ListNode* NewH =

LeetCode 697. 陣列的度C++、python

給定一個非空且只包含非負數的整數陣列 nums, 陣列的度的定義是指數組裡任一元素出現頻數的最大值。 你的任務是找到與 nums 擁有相同大小的度的最短連續子陣列,返回其長度。 示例 1: 輸入: [1, 2, 2, 3, 1] 輸出: 2 解釋: 輸入陣

LeetCode 209. 長度最小的子陣列C++、python

給定一個含有 n 個正整數的陣列和一個正整數 s ,找出該陣列中滿足其和 ≥ s 的長度最小的連續子陣列。如果不存在符合條件的連續子陣列,返回 0。 示例:  輸入: s = 7, nums = [2,3,1,2,4,3] 輸出:

LeetCode 525. 連續陣列C++、python

給定一個二進位制陣列, 找到含有相同數量的 0 和 1 的最長連續子陣列。 示例 1: 輸入: [0,1] 輸出: 2 說明: [0, 1] 是具有相同數量0和1的最長連續子陣列。 示例 2: 輸入: [0,1,0] 輸出: 2 說明: [0, 1] (或 [1, 0]) 是具有相同

LeetCode 506. 相對名次C++、python

給出 N 名運動員的成績,找出他們的相對名次並授予前三名對應的獎牌。前三名運動員將會被分別授予 “金牌”,“銀牌” 和“ 銅牌”("Gold Medal", "Silver Medal", "Bronze Medal")。 (注:分數越高的選手,排名越靠前。) 示例 1:

LeetCode 537. 複數乘法C++、python

給定兩個表示複數的字串。 返回表示它們乘積的字串。注意,根據定義 i2 = -1 。 示例 1: 輸入: "1+1i", "1+1i" 輸出: "0+2i" 解釋: (1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i ,你需要將它轉換為 0+2i 的

LeetCode 100. 相同的樹Cpython

給定兩個二叉樹,編寫一個函式來檢驗它們是否相同。 如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。 示例 1: 輸入: 1 1 / \ / \ 2 3 2 3

LeetCode 647. 迴文子串Cpython

給定一個字串,你的任務是計算這個字串中有多少個迴文子串。 具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串。 示例 1: 輸入: "abc" 輸出: 3 解釋: 三個迴文子串: "a", "b", "c". 示例 2: 輸入: "aaa" 輸出: