第七次

(1) 在树莓派中安装opencv库

(作业提供的参考)

1.扩展文件系统

$ sudo raspi-config
raspi-config ”菜单中选择“ Advanced Options ”项。


在Raspberry Pi 3上扩展文件系统

2.安装依赖项

更新软件源,更新软件
sudo apt-get update && sudo apt-get upgrade

Cmake等开发者工具
sudo apt-get install build-essential cmake pkg-config

图片I/O包
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

视频I/O包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
OpenCV用于显示图片的子模块需要GTK
sudo apt-get install libgtk2.0-dev libgtk-3-dev

性能优化包
sudo apt-get install libatlas-base-dev gfortran

安装 Python2.7 & Python3
sudo apt-get install python2.7-dev python3-dev

3.下载OpenCV源代码

$ CD〜
$ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.3.0.zip
$解压缩opencv.zip


原先安装的最新版本,但是出现无法解压的情况,于是重新找了网站,下载了3.3.0版本,成功解压。

4.Python 2.7或Python 3

  • 在Raspberry Pi上安装OpenCV 3 + Python
    $ wget https://bootstrap.pypa.io/get-pip.py
    $ sudo python get-pip.py
    $ sudo python3 get-pip.py

  • 安装虚拟环境
    sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv virtualenvwrapper

  • 配置~/.profile
    打开配置文件:
    sudo nano ~/.profile
    开始配置:
    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
    source /usr/local/bin/virtualenvwrapper.sh
    export VIRTUALENVWRAPPER_ENV_BIN_DIR=bin
  • 创建虚拟机
    mkvirtualenv cv -p python3
  • 进入虚拟机 (每次进入之前都刷新一次配置文件)
    workon cv

  • 安装numpy
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

(5)编译OpenCV

cd ~/opencv-3.3.0/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \
-D BUILD_EXAMPLES=ON ..

  • 打开swapfile文件 ,编辑为CONF_SWAPSIZE=1024,已调整交换空间大小
    sudo nano /etc/dphys-swapfile

  • 重启配置文件的服务
    sudo /etc/init.d/dphys-swapfile stop
    sudo /etc/init.d/dphys-swapfile start

  • 编译
    make -j4

1.编译遇到的问题: 编译卡住

解决办法,我们参考了一篇很好的博客,最终得以解决。
解决步骤:
打开cap_ffmpeg_impl.hpp文件
nano ~/opencv-3.3.0/modules/Videoio/sRc/cap_ffmpeg_impl.hpp
在顶部添加下列内容
#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020
重新编译以后,编译成功了!

  • 在Pi上安装OpenCV

sudo make install
sudo ldconfig


(2) 使用opencv和python控制树莓派的摄像头

posted @ 2020-06-06 20:23  小同学-  阅读(145)  评论(0编辑  收藏  举报