树莓派01——初始化配置OpenCV3的安装

Posted raspberryfarmer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派01——初始化配置OpenCV3的安装相关的知识,希望对你有一定的参考价值。

参考资料:

  【为树莓派更换国内镜像源】https://blog.csdn.net/la9998372/article/details/77886806/

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

  【树莓派安装OpenCV3完整过程】https://blog.csdn.net/kyokozan/article/details/79192646

 

关键词:

  树莓派 更新源 Python版本切换 OpenCV实时人脸识别 

一、准备工作

  1、软件

    1.镜像工具:win32diskimager-1.0.0

    2.SD卡格式化工具:SDCardFormatterv5_WinEN

    【链接: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】

  2、硬件

    树莓派3B+、32G TF卡(16G及以上)、摄像头、键盘鼠标显示器……

  3、系统烧写

    1.SD格式化:Format即可

                  技术图片

    2.系统烧写,选择镜像文件,确认烧录设备后,点击写入,大概5分钟后,提示写入成功,点击退出,弹出SD卡,插树莓派上

                            技术图片

 

二、系统安装及配置

  1、开始

    SD卡插好后,接上电源(勿用电脑USB,建议直接使用手机充电头,否则开机屏幕右上角显示一个?符号,表示电力不足),接上显示器键盘鼠标……

    系统自动安装,进入桌面后,有一个向导程序,可以先选择地区,设置密码,选择WIFI网络。注意,后面一步提示更新软件,请直接点Skip跳过去,之后一律Skip,然后会自动重启。(等下一步更新源之后再去更新)

  2、更新源

    编辑/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

  3、下载输入法

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

  4、Python版本切换

    输入python -V查看版本

    sudo rm usr/bin/python

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

    再输入python -V查看版本

  5、打开摄像头等功能

    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

      出现下面的情况,证明设置成功

      技术图片

四、OpenCV

  1、安装numpy

    sudo pip3 install numpy

  2、扩大目录

    sudo raspi-config

    选择Advanced Options

    选择Expand Filesystem,将根目录扩展到这个SD卡,充分利用SD卡的存储空间。如果不进行这一步,后续命令会出现卡死。

    退出设置界面,重启树莓派。

 

     sudo reboot

  3、安装

    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()  # 关闭所有窗口

 

 

 

五、实时人脸识别设置

 

 代码如下,其中,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()

 

 

 

 

 

 

 

以上是关于树莓派01——初始化配置OpenCV3的安装的主要内容,如果未能解决你的问题,请参考以下文章

[人工智能技术]树莓派上安装OpenCV3

vnc连接树莓派上的kali linux连接成功,但是画面是一片灰色,哪里出问题了?

树莓派中编译OpenCV3.4.1和OpenCvSharp

有个树莓派和一个激光雷达还需要啥配件

树莓派初始配置

树莓派Opencv-python快速安装