cubieboard4 安装Python和OpenCV

来源:互联网 发布:mac的强制退出 编辑:程序博客网 时间:2024/05/16 17:23

   由于项目需要进行图像处理而且最近学习了python语言,所以需要在cubieboard4上安装python和opencv。安装过程其实并不难,重点是各linux发行版上安装这两个家伙其实都差不多,所以本文的价值并不大,权当作为备忘好了。


使用的系统是官方制作的Ubuntu-linaro-desktop,将板子进行联网后,打开命令行,步骤如下:

1.先更新和升级已安装的软件包

apt-get update

apt-get upgrade


2.安装python的工具包,这里同时安装python2和python3的,因为opencv3.0现在开始支持python3.X版本了,为了让两个版本都能使用opencv,所以在编译opencv前要配置好各python版本:

apt-get install python python-dev python-pip

apt-getinstall python3 python3-dev python-pip3

其中*dev是开发包,而pip是python的包管理工具,可以很方便地安装第三方库。


3.配置python的pip源。安装完pip后会再home目录下有一个.pip目录,目录里有一个pip.conf文件(若无则添加之),用来配置pip的参数。因为pip的源默认是pypi的,有时候慢得不行,所以将其修改为国内镜像,文件中写入:

[global]

index-url = http://pypi.v2ex.com/simple/


4.安装numpy。opencv在python中将图像存储为numpy中的数组,所以需要安装numpy。使用pip安装,python2使用pip,python3则使用pip3。

pip install numpy

pip3 install numpy


5.这时python就配置好了。现在开始安装opencv编译需要的工具和库。

apt-get install build-essential cmake pkg-config
apt-get install libgtk2.0-dev
apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev
apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
apt-get install libatlas-base-dev gfortran


6.安装完成后需要下载opencv源码。直接使用git命令将opencv的源码clone下来,到时有什么重要更新,可以直接使用git来获取再重新编译,轻松且愉快。

git clone git://github.com/Itseez/opencv


7.进入opencv目录,新建build目录再进入build目录

cd opencv

mkdir build

cd build


8.使用cmake生成makefile文件

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 ..

(注意,以上是一条命令)


9.生成makefile文件完毕,执行make,这里我的板子花了约一个半小时编译,速度还是相当快的:

make


10.编译完成,安装:

make install

ldconfig


到这里,python和opencv就成功安装到cubieboard4上面了,打开python2或python3编译器,import cv2发现导入成功,dir(cv2)后发现整个屏幕刷的一下全是密密麻麻的属性。为了确认能够使用,我新建了一个目录,在目录下装入一个arduino nano的引脚图片,并写了一段简单的python脚本来进行图片的轮廓获取:

#!/usr/bin/python2.7
import cv2

img=cv2.imread('nano.jpg')
cv2.namedWindow('show')
gray=cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
blur = cv2.GaussianBlur(gray,(3,3),0)  
edges = cv2.Canny(blur,100,200)
cv2.imshow('show',edges)
cv2.waitKey(0)
cv2.destroyAllWindows()


执行效果如下:



将脚本第一行的#!/usr/bin/python2.7改为#!/usr/bin/python3.4并执行,其效果一致,说明当前脚本中opencv在python2和python3中都能运行良好,看来opencv3.0真的对python3有一定的支持,只是不知道是否完美支持,有待考证。






2 0
原创粉丝点击