【樹莓派】01——初始化配置、OpenCV3的安裝

參考資料:python

  【爲樹莓派更換國內鏡像源】https://blog.csdn.net/la9998372/article/details/77886806/git

  【子豪兄教你在樹莓派上安裝OpenCV】https://zhuanlan.zhihu.com/p/46032511github

  【樹莓派安裝OpenCV3完整過程】https://blog.csdn.net/kyokozan/article/details/79192646網絡

 

關鍵詞:編輯器

  樹莓派 更新源 Python版本切換 OpenCV實時人臉識別 ide

1、準備工做工具

  一、軟件ui

    1.鏡像工具:win32diskimager-1.0.0google

    2.SD卡格式化工具:SDCardFormatterv5_WinENurl

    【連接:https://pan.baidu.com/s/1CLL-FWZz2UMQdkUjzUyEWg 提取碼:lde6 】

    3.樹莓派官方系統:2018-11-13-raspbian-stretch-full.img

    【下載地址https://www.raspberrypi.org/downloads/raspbian/    下載Raspbian Stretch with desktop and recommended software】

  二、硬件

    樹莓派3B+、32G TF卡(16G及以上)、攝像頭、鍵盤鼠標顯示器……

  三、系統燒寫

    1.SD格式化:Format便可

                  

    2.系統燒寫,選擇鏡像文件,確認燒錄設備後,點擊寫入,大概5分鐘後,提示寫入成功,點擊退出,彈出SD卡,插樹莓派上

                            

 

2、系統安裝及配置

  一、開始

    SD卡插好後,接上電源(勿用電腦USB,建議直接使用手機充電頭,不然開機屏幕右上角顯示一個⚡符號,表示電力不足),接上顯示器鍵盤鼠標……

    系統自動安裝,進入桌面後,有一個嚮導程序,能夠先選擇地區,設置密碼,選擇WIFI網絡。注意,後面一步提示更新軟件,請直接點Skip跳過去,以後一概Skip,而後會自動重啓。(等下一步更新源以後再去更新)

  二、更新源

    編輯/etc/apt/sources.list文件:

      sudo nano /etc/apt/sources.list

    用#註釋原內容,用如下內容替換:

      deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

      deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

    編輯/etc/apt/sources.list.d/raspi.list文件:

      sudo nano /etc/apt/sources.list.d/raspi.list

    用#註釋原內容,用如下內容替換:

      deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

      deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

     最後更新:

      sudo apt-get update

      sudo apt-get upgrade

  三、下載輸入法

    sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin

  四、Python版本切換

    輸入python -V查看版本

    sudo rm usr/bin/python

    sudo ln -s usr/bin/python3.5 usr/bin/python

    再輸入python -V查看版本

  五、打開攝像頭等功能

    1.使能攝像頭

      sudo raspi-config

      選擇第5項【Interfacing Options】,選擇【P1 Camera】,一直選【是】

      除此外,也能夠點任務欄的樹莓派Logo,首選項->Raspberry Pi Configuration,在Interfaces中,Camera選項,點Enable

    2.相關設置

      輸入:sudo nano /etc/modules

      // 進入編輯界面後,在末尾添加輸入

        snd-bcm2835

        bcm2835-v4l2

      【先按鍵盤上的ctrl+o,再按回車保存,再按ctrl+x退出nano編輯器回到命令行界面。】

    3.驗證

      輸入:vcgencmd get_camera

      出現下面的狀況,證實設置成功

      

4、OpenCV

  一、安裝numpy

    sudo pip3 install numpy

  二、擴大目錄

    sudo raspi-config

    選擇Advanced Options

    選擇Expand Filesystem,將根目錄擴展到這個SD卡,充分利用SD卡的存儲空間。若是不進行這一步,後續命令會出現卡死。

    退出設置界面,重啓樹莓派。

 

     sudo reboot

  三、安裝

    sudo apt-get install build-essential git cmake pkg-config -y

    sudo apt-get install libjpeg8-dev -y

    sudo apt-get install libtiff5-dev -y

    sudo apt-get install libjasper-dev -y

    sudo apt-get install libpng12-dev -y

    sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y

    sudo apt-get install libgtk2.0-dev -y

    sudo apt-get install libatlas-base-dev gfortran -y

 

    git clone https://github.com/opencv/opencv.git

    //下載的文件可能須要解壓

    //打開下載的文件

    cd opencv-3.4.3

    mkdir release

    cd release

    //直接複製下面兩行

    cmake -D CMAKE_BUILD_TYPE=RELEASE \

     -D CMAKE_INSTALL_PREFIX=/usr/local ..

    //編譯(這步耗時較長,2小時左右)

    sudo make

    //安裝

    sudo make install

    //更新動態連接庫

    sudo ldconfig

驗證安裝OpenCV是否成功,成功後,會顯示灰度圖,中心有圓圈

 1 # -*- coding: utf-8 -*-
 2 __author__ = "kyoRan"
 3 
 4 import cv2  5 
 6 cap = cv2.VideoCapture(0)                                        # 打開攝像頭
 7 print("VideoCapture is opened?", cap.isOpened())  8 
 9 while(True): 10 
11     ret, frame = cap.read()                                      # 讀取攝像頭圖像
12     center = (frame.shape[1]//2, frame.shape[0]//2)              # 圖像中心點位置
13 
14     gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)               # 轉灰度
15     cv2.circle(gray, center=center, radius=100, color=(0,0,255)) # 畫圓
16     cv2.imshow("frame", gray)                                    # 顯示圖片
17 
18     if cv2.waitKey(1) & 0xFF == ord('q'): 19         break
20 
21 cap.release()            # 釋放攝像頭
22 cv2.destroyAllWindows()  # 關閉全部窗口

 

 

 

5、實時人臉識別設置

 

 代碼以下,其中,haarcascade_frontalface_default.xml文件在, opencv-3.4.3/data/haarcascades中

 1 import numpy as np  2 import cv2  3  
 4 faceCascade = cv2.CascadeClassifier('haarcascades/haarcascade_frontalface_default.xml')  5  
 6 cap = cv2.VideoCapture(0)  7 cap.set(3,640) # set Width
 8 cap.set(4,480) # set Height
 9  
10 while True: 11     ret, img = cap.read() 12     img = cv2.flip(img, -1) 13     gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 14     faces = faceCascade.detectMultiScale( 15  gray, 16         scaleFactor=1.2, 17         minNeighbors=5, 18         minSize=(20, 20) 19  ) 20  
21     for (x,y,w,h) in faces: 22         cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2) 23         roi_gray = gray[y:y+h, x:x+w] 24         roi_color = img[y:y+h, x:x+w] 25  
26     cv2.imshow('video',img) 27  
28     k = cv2.waitKey(30) & 0xff
29     if k == 27: # press 'ESC' to quit
30         break
31  
32 cap.release() 33 cv2.destroyAllWindows()
相關文章
相關標籤/搜索