树莓派3B+ 从0开始搭建opencv python环境
1.硬件准备
1.树莓派3B+
2.一张32G的闪迪存储卡
3.一个读卡器
4.普通电脑显示器,键盘,鼠标
5.一台可以正常工作的Window系统的电脑
2.软件准备
1.balenaEtcher
网址 https://www.balena.io/etcher/?ref=etcher_update
2.VNC Viewer
网址 https://www.realvnc.com/en/connect/download/viewer/
3.opencv和opencv_contrib (我装的是3.4.5)
网址 https://github.com/opencv/opencv/releases (zip)
网址 https://github.com/Itseez/opencv_contrib/releases (zip)
4.raspbian系统
网址 https://www.raspberrypi.org/downloads/raspbian/ (第一个满配版 也是zip)
3.远程连接树莓派
1.装系统
a.插上读卡器 打开balenaEtcher他会自动识别到你的SD卡 把你下好的raspbian丢进去
b.把显示器 键盘 鼠标 电源全插上 插上SD卡 先给显示器上电 再给树莓派上电 正常的话就能开机了
2.联网
1.用无线
2.用网线 (笔记本连树莓派)
3.打开树莓派终端
sudo raspi-config,选择 5、Interfacing Options ,然后回车:
选择3 VNC,再回车
选择yes:
做完重启VNC就打开了 最好再改下分辨率
sudo raspi-config
Resolution
然后选择自己笔记本的分辨率
4.查看ip
输入ifconfig
找到ip地址
笔记本运行 VNC Viewer 之后输入树莓派的 IP 地址,选择连接之后输入树莓派的登录用户名密码,初始用户名 pi,密码为 raspberry。确认之后即可进入树莓派的远程桌面!
4.换软件源
1.备份源文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
2.修改软件更新源
sudo nano /etc/apt/sources.list
将第一行修改成中科大的软件源地址,「Ctrl+O」进行保存,然后回车,「Ctrl+X」退出。
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
3. 修改系统更新源
执行如下命令:
sudo nano /etc/apt/sources.list.d/raspi.list
将第一行修改成中科大的系统源地址,「Ctrl+O」进行保存,然后回车,「Ctrl+X」退出。
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
将第一行修改成中科大的系统源地址,「Ctrl+O」进行保存,然后回车,「Ctrl+X」退出。
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
4.更新
sudo apt-get update // 软件源更新
sudo apt-get upgrade// 升级本地所有安装包,最新系统可以不升级,版本过高反而需要降级才能安装
sudo rpi-update
5.准备装cv
1.修改中断默认的py 为py3 (改优先级)
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
2.装pip3(python2是自带pip的 python3没有)
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
3.装cv依赖项
sudo apt-get install build-essential cmake pkg-config//安装 build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff-dev libjasper-dev libpng-dev //安装图像工具包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev//视频I/O包
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libgtk-3-dev//使用 OpenCV 的 GUI 时所需要的 GTK
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3.5-dev
4.把自己装好的俩个zip拷进来 我是拷到用户源目录的顺手解压了
用unzip ...
也可以用下面的方法 我这次没用 用这个方法要注意下编译时候的目录可能和我不一样
wget -O opencv-3.4.5.zip https://github.com/Itseez/opencv/archive/3.4.5.zip
unzip opencv-3.4.5.zip// 解压OpenCV
wget -O opencv_contrib-3.4.5.zip https://github.com/Itseez/opencv_contrib/archive/3.4.5.zip // 下载OpenCV_contrib库:
unzip opencv_contrib-3.4.5.zip// 解压OpenCV_contrib库:
5. cd ~/opencv-3.4.5/ //进入这个文件夹
mkdir build //建一个叫做build的文件夹
cd build
6. 配置cmake(记住要在build这个文件夹下)
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON3_EXECUTABLE=/usr/bin/python3 -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.5/modules -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 ..
7. 编译
sudo make -j4
sudo make install
sudo ldconfig// 更新动态链接库
6.测试
1.终端输入python
imoprt cv2 //如果没有报错说明是装上了
cv2.__version__ //返回版本号
2.测试程序
import cv2
import numpy as np
capture = cv2.VideoCapture(0)
n = -1
while True:
ret, frame = capture.read()
cv2.imshow('frame', frame)
if cv2.waitKey(1) == ord('s'):
cv2.imwrite('yb'+str(n + 1)+'.jpg', frame)
n += 1
print(n)
capture.release()
cv2.destroyAllWindows()