欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在树莓派2或树莓派B+上安装Python和OpenCV的教程

程序员文章站 2023-11-17 18:56:52
我的raspberry pi 2昨天刚邮到,这家伙看上去很小巧可爱。 这小家伙有4核900mhz的处理器,1g内存。要知道,raspberry pi 2 可比我中学电脑实...

在树莓派2或树莓派B+上安装Python和OpenCV的教程我的raspberry pi 2昨天刚邮到,这家伙看上去很小巧可爱。

这小家伙有4核900mhz的处理器,1g内存。要知道,raspberry pi 2 可比我中学电脑实验室里大多数电脑快多了。

话说,自从raspberry pi 2发布以来,我收到了很多请求,要求我能写一个在它上面安装opencv和python的详细说明。

因此如果你想在raspberry pi启动运行opencv和python,就往下面看!

在博文的剩余部分,我将提供在raspberry pi 2 和raspberry pi b+上的详细安装说明。

我也会说明每一步的安装耗时。其中一些步骤需要较多的处理时间。举个例子,在raspberry pi 2 编译opencv花费大概2.8小时,在 raspberry pi b+上则是9.5小时。所以请你据此安排你的安装吧。

最后,提醒一下我们会在pyimagesearch gurus 计算机视觉课程中用到raspberry pi。我们的项目将会包括家庭监控应用,例如说房间里面的运动检测和人员跟踪。

下面是一个运动检测和跟踪的简单例子,当时我正打着电话在公寓里面来回走动。
在树莓派2或树莓派B+上安装Python和OpenCV的教程在 raspberry pi 2/b+上安装opencv和python

这里假定你已经有了raspberry pi 2/b+,且已经安装好。如果没有的话,我建议你买一个,它们既便宜也好玩。

个人来说,我更愿意多花一点钱从canakit买。他们的物流很快也比较可靠,加之他们的 ready-to-go服务也很好。

好吧,我们开始opencv和python的安装
步骤0:

我们假定你已经打开raspberry pi 2/b+。打开终端,我们先更新和升级已安装的软件包,然后更新raspberry pi固件。
 

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo rpi-update


步骤1:

安装所需的安装工具和包:
 

$ sudo apt-get install build-essential cmake pkg-config

build-essential 和 pkg-config可能都已经安装。以防万一,我们还是将它们键入apt-get命令中。

耗时:

raspberry pi b+:小于2分钟

raspberry pi 2:小于40秒
步骤2:

安装必要的图像i/o包,这样你才可以读入jpeg,png,tiff等这些格式的图像。

$ sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev

耗时:

raspberry pi b+: 小于5钟

raspberry pi 2: 小于30秒
步骤3:

安装gtk开发库,这个库用来构建gui。同时opencv中的highgui库也需要它来在屏幕上显示图像。
 

$ sudo apt-get install libgtk2.0-dev

耗时:

raspberry pi b+: 小于10分钟

raspberry pi 2:小于3分钟
步骤4:

安装必要的视频i/o包,opencv需要它们来读入视频文件。
 

$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

耗时:

raspberry pi b+: 小于5分钟

raspberry pi 2: 小于30秒
步骤5:

安装opencv优化操作时所需库。
 

$ sudo apt-get install libatlas-base-dev gfortran

耗时:

raspberry pi b+:小于2分钟

raspberry pi 2:小于30秒
步骤6:

安装pip:
 

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py

耗时:

raspberry pi b+:小于2分钟

raspberry pi 2:小于30秒
步骤7:

安装virtualenv和virtualenvwrapper
 

$ sudo pip install virtualenv virtualenvwrapper

然后,更新~/.profile文件如下:
 

export workon_home=$home/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

重新载入.profile文件:
 

$ source ~/.profile

创建你的计算机视觉虚拟环境
 

$ mkvirtualenv cv

耗时:

raspberry pi b+: 小于2分钟

raspberry pi 2: 小于2分钟
步骤8:

现在我们安装python 2.7开发工具:
 

$ sudo apt-get install python2.7-dev

注意:我们将使用python2.7。因为opencv 2.4.x不支持python 3,也不太清楚opencv 3.0的python接口什么时候才能完善。所以我建议现在还是使用opencv2.4.x的好。

我们也需要安装numpy,因为opencv的python接口通过numpy的多维数组来表示图像。
 

$ pip install numpy

耗时:

raspberry pi b+: 小于45分钟

raspberry pi 2: 小于15分钟
步骤9:

下载和解压opencv:

$ wget -o opencv-2.4.10.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.10/opencv-2.4.10.zip/download
$ unzip opencv-2.4.10.zip
$ cd opencv-2.4.10

安装:
 

$ mkdir build
$ cd build
$ cmake -d cmake_build_type=release -d cmake_install_prefix=/usr/local -d build_new_python_support=on -d install_c_examples=on -d install_python_examples=on -d build_examples=on ..

耗时:

raspberry pi b+: 小于3分钟

raspberry pi 2: 小于1.5分钟

编译opencv:
 

$ make

重要:确定你在cv虚拟环境中,opencv也要根据该环境中的python和numpy中进行编译。否则的话,opencv就会和系统中的python和numpy编译在一起,会产生各种问题。

耗时:

raspberry pi b+: 小于 9.5 小时

raspberry pi 2: 小于2.8小时

最后,我们安装opencv:
 

$ sudo make install
$ sudo ldconfig

耗时:

raspberry pi b+: 小于 3分钟

raspberry pi 2: 小于1分钟
步骤10:

进行到这一步的时候,opencv已经应该已经安装到/usr/local/lib/python2.7/site-packages中了。

但是为了在cv虚拟环境中使用opencv,我们先需要符合链接到我们的site-packages目录:
 

$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
$ ln -s /usr/local/lib/python2.7/site-packages/cv.py cv.py

步骤11:

最后,我们测试一下opencv和python的安装:
 

$ workon cv
$ python
>>> import cv2
>>> cv2.__version__
'2.4.10'

opencv和python已经成功安装到你的raspberry pi了。

这是在我的raspberry pi上的运行例子,我ssh登录到 raspberry pi,然后读取和显示一幅图像。
在树莓派2或树莓派B+上安装Python和OpenCV的教程总结

这篇博文中,我详细介绍了如何在raspberry pi 2 /raspberry pi b+上安装python和opencv。也提供了他们的安装耗时,请酌情考虑你的安装。

随着raspberry pi的升级,安装指令可能有所变化。如果你遇到一些极端情况或安装指令的变化,请随时。当然我也不能保证每封邮件都能回复,所以最好是将如何在 raspberry pi上安装opencv和python的方法总结成一个列表。

不久以后,我会讲如何在raspberry pi操作其附加的camera。

在那之前,看看pyimagesearch gurus计算机视觉课程。我们将在其中一些工程中用到raspberry pi,就比如说构建一个监控应用来进行房间内部的运动检测和人员跟踪。