树莓派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的安装的主要内容,如果未能解决你的问题,请参考以下文章