树莓派3B+ 安装计算机视觉库(OpenCV_3+OpenCV_Contrib_3)

树莓派3B+ 安装计算机视觉库(OpenCV_3+OpenCV_Contrib_3)

计算机视觉是一项应用于计算机模式生物视觉的新技术,它使得计算机能代替人眼实现对目标的识别、分类、跟踪和场景理解。
计算机视觉是人工智能的重要分支,是未来发展的前沿科技,所以学习OpenCV这个开源、跨平台的计算机视觉库就显的非常有必要了。


笔者此次给大家带来的版本具体是:python2.7+opencv_3.3.1+opencv_contrib_3.3.1

注意:请保持opencv和opencv_contrib版本相同!

如果安装不能如愿,可以直接安装官方源版本:opencv2.4.9+opencv_contrib2.4.9
或者使用安装好了的: docker (python2.7+OpenCV3.1.0+OpenCV_Contrib3.1.0)


对于未更新软件源导致下载失败的,可参考:
修改 国内软件源:http://blog.csdn.net/kxwinxp/article/details/78370980


提供安装所需的包:
http://download.csdn.net/download/kxwinxp/10226324

1.安装OpenCV 3.3.1

安装教程参考:https://github.com/Tes3awy/OpenCV-3.2.0-Compiling-on-Raspberry-Pi

安装脚本如下:(编译安装大约需要4小时左右,请保证网络畅通!!)

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# 安装基本的依赖项:
sudo apt-get install -y build-essential cmake pkg-config
# 安装和图像相关的库:
sudo apt-get install -y libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
# 安装视频IO包:
sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libv4l-0 libv4l-dev libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev
# 安装highgui相关的依赖库:
sudo apt-get install -y libgtk2.0-dev
# 安装opencv进阶依赖库,操作矩阵等:
sudo apt-get install -y libatlas-base-dev gfortran
# 其它一些库
sudo apt-get install -y python-numpy python-scipy python-matplotlib ant libgtkglext1-dev v4l-utils
# -----------此处为沙盒环境,可选择安装--------------
# 下载pip
wget https://bootstrap.pypa.io/get-pip.py  
# 安装pip工具
sudo python get-pip.py
# 安装virtualenv沙盒工具
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/.cache/pip
# 将沙盒环境变量写入~/.profile
echo -e "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7 \n export WORKON_HOME=$HOME/.virtualenvs \n source /usr/local/bin/virtualenvwrapper.sh \n export LD_LIBRARY_PATH=/usr/lib/:$LD_LIBRARY_PATH" >> ~/.profile
# 更新状态
source ~/.profile
# 创建沙盒环境
mkvirtualenv p2cv
workon p2cv
# 这时可以看到已经进入沙盒环境(p2cv)pi@raspberrypi 
# 如果想离开沙盒环境,执行deactivate
# -----------------沙盒环境安装结束---------------
# 安装numpy
pip install numpy
# 安装比较漫长,若报没有权限的错误,执行sudo rm -rf ~/.cache/pip/
# -------正式开始准备opencv和opencv_contrib---------
# 下载OpenCV 3.3.1和OpenCV_contrib库:
#在pi user下
# 下载OpenCV 3.3.1:
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.3.1.zip
# 解压OpenCV 3.3.1:
unzip opencv.zip
# 下载OpenCV_contrib库:
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.3.1.zip
# 解压OpenCV_contrib库:
unzip opencv_contrib.zip

# --------编译和安装OpenCV 3.3.1---------
# 进入opencv3.3.1目录:
cd opencv-3.3.1/
# 新建build文件夹:
mkdir build
# 进入build文件夹:
cd build
# 配置cmake(这一步直接粘贴所有行到你的terminal即可):
sudo 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.1/modules \
    -D BUILD_EXAMPLES=ON ..
# 编译:(由于使用make j4容易报错,故换成make)
make
# 安装:
sudo make install
# 把OpenCV生成的动态链接库加入树莓派目录:
sudo ldconfig

# 安装python插件
# sudo apt-get install -y python-picamera python-pil python-tk

# 为沙盒环境引用类库
cd ~/.virtualenvs/p2cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

2.测试OpenCV

// 打开python命令状态

python

>>> import cv2
>>> print cv2.__version__
the following line should appear then:

'3.3.1'
// 完成安装!

3.开启树莓派摄像头

sudo raspi-config
// 选择 5 Interfacing Options
// 将Camera 设置为 Enable
// 拍取一张照片
raspistill -o photo.jpg
// 可在当前位置看到photo.jpg文件则为正常!

4.开启cv2直接对摄像头的调用

由于对于非USB摄像头,树莓派不会自动添加到设备列表,(即看不到 /dev/vide0),则需要手动添加进去。

// 编辑模块管理配置文件
sudo vim /etc/modules-load.d/modules.conf 
// 尾部添加一行 bcm2835-v4l2

// python 测试脚本
#!/usr/bin/env python
#coding=utf-8
import cv2

capture = cv2.VideoCapture(0)
// 设置像素大小
# capture.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, 480)
# capture.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 320)

while True:
    # 获得帧
    ret, frame = capture.read()
    print "frame.shape: {}".format(frame.shape)

    # 显示帧(需要安装了图像界面的raspbian版本)
    cv2.imshow("capture", frame)
    # 当摁下q键,关闭
    if cv2.waitKey(1000 // 12) & 0xff == ord("q"):
        break

cv2.destroyAllWindows()
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值