这里假定你已经有了Raspberry Pi 2/B+,且已经安装好。如果没有的话,我建议你买一个,它们既便宜也好玩。
个人来说,我更愿意多花一点钱从Canakit买。他们的物流很快也比较可靠,加之他们的 ready-to-go服务也很好。
好吧,我们开始OpenCV和Python的安装
步骤0:
我们假定你已经打开Raspberry Pi 2/B+。打开终端,我们先更新和升级已安装的软件包,然后更新Raspberry Pi固件。
1
2
3
|
$ sudo apt
-
get update
$ sudo apt
-
get upgrade
$ sudo rpi
-
update
|
步骤1:
安装所需的安装工具和包:
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等这些格式的图像。
1
|
$ 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库也需要它来在屏幕上显示图像。
1
|
$ sudo apt
-
get install libgtk2.
0
-
dev
|
耗时:
Raspberry Pi B+: 小于10分钟
Raspberry Pi 2:小于3分钟
步骤4:
安装必要的视频I/O包,OpenCV需要它们来读入视频文件。
1
|
$ sudo apt
-
get install libavcodec
-
dev libavformat
-
dev libswscale
-
dev libv4l
-
dev
|
耗时:
Raspberry Pi B+: 小于5分钟
Raspberry Pi 2: 小于30秒
步骤5:
安装OpenCV优化操作时所需库。
1
|
$ sudo apt
-
get install libatlas
-
base
-
dev gfortran
|
耗时:
Raspberry Pi B+:小于2分钟
Raspberry Pi 2:小于30秒
步骤6:
安装pip:
1
2
|
$ wget https:
/
/
bootstrap.pypa.io
/
get
-
pip.py
$ sudo python get
-
pip.py
|
耗时:
Raspberry Pi B+:小于2分钟
Raspberry Pi 2:小于30秒
步骤7:
安装virtualenv和virtualenvwrapper
1
|
$ sudo pip install virtualenv virtualenvwrapper
|
然后,更新~/.profile文件如下:
1
2
|
export WORKON_HOME
=
$HOME
/
.virtualenvs
source
/
usr
/
local
/
bin
/
virtualenvwrapper.sh
|
重新载入.profile文件:
1
|
$ source ~
/
.profile
|
创建你的计算机视觉虚拟环境
1
|
$ mkvirtualenv cv
|
耗时:
Raspberry Pi B+: 小于2分钟
Raspberry Pi 2: 小于2分钟
步骤8:
现在我们安装Python 2.7开发工具:
1
|
$ 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的多维数组来表示图像。
1
|
$ pip install numpy
|
耗时:
Raspberry Pi B+: 小于45分钟
Raspberry Pi 2: 小于15分钟
步骤9:
下载和解压OpenCV:
1
2
3
|
$ 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
|
安装:
1
2
3
|
$ 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:
1
|
$ make
|
重要:确定你在cv虚拟环境中,OpenCV也要根据该环境中的Python和NumPy中进行编译。否则的话,OpenCV就会和系统中的Python和NumPy编译在一起,会产生各种问题。
耗时:
Raspberry Pi B+: 小于 9.5 小时
Raspberry Pi 2: 小于2.8小时
最后,我们安装OpenCV:
1
2
|
$ 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目录:
1
2
3
|
$ 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的安装:
1
2
3
4
5
|
$ workon cv
$ python
>>>
import
cv2
>>> cv2.__version__
'2.4.10'
|
OpenCV和Python已经成功安装到你的Raspberry Pi了。
这是在我的Raspberry Pi上的运行例子,我ssh登录到 Raspberry Pi,然后读取和显示一幅图像。