树莓派3b pyhon3.5 安装opencv3.4

参考了百度文库、CSDN的各位大佬的安装教程,重复安装了好多次都没有成功。最后在同学的帮助下,在google上找到了解决方法。下面就是所安装的具体过程。首先要确保有足够的空间,树莓派至少要需要16G的SD卡,16G的其实都勉强。

首先安装依赖包,在进行软件安装之前要更新一下现有的软件包:

sudo apt-get update 

sudo apt-get upgrade  #更新系统,慎重选择

安装cmake环境:

unzip的环境安装:

sudo apt-get install unzip

安装各种图像格式的包:

I/O视频包的安装过程:

I/O视频包的安装过程:

   GTK开发库环境的安装:

sudo apt-get install libgtk2.0-dev 

再安装几个依赖关系进一步优化OpenCV:

对已经安装的开发环境进行确认(python):

在根目录下新建一个叫opencv的文件夹,用来存放接下来要用的文件。然后cd切换到这个目录下。

cd~ 

mkdir opencv

cd opencv

从网上下载opencv 3.4的源代码

wget https://github.com/opencv/opencv/archive/3.4.0.zip -O opencv-3.4.0.zip 

unzip opencv-3.4.0.zip

还要下载OpenCV的contrib的存储库:

在这里面opencv和opencv_contrib的版本一定要相同,否则会导致安装失败。

需要注意的是很多文章中是用git下载源代码,opencv这个文件比较大,如果通过下载源代码可能需要的时间将会很长。利用用wget的下载压缩包时间会更短点。如果要能事先在自己电脑上下好,然后拷到树莓派上那就更好了。

接下来还要安装python的虚拟环境管理软件virtualenv和virtualenvwrapper

运行命令:

sudo pip3 install virtualenv virtualenvwrapper新建虚拟环境

配置virtualenvwrapper,将如下命令加入到加入到~/.bashrc的最后

#export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

运行:

source ~/.bashrc

virtualenv和virtualenvwrapper安装配置完成后,新建一个名为cv的python3虚拟环境

mkvirtualenv -p /usr/bin/python3 cv

确认已经进入了这个虚拟环境,假如没有进入,需要用workon进入虚拟环境代码如下:

workon cv

如果命令行的左侧的括号内cv表示成功进入虚拟环境。

接下来的操作,就是在名为cv的虚拟环境中完成的,这个虚拟环境使用python3创建的。

在树莓派3B+上安装numpy

numpy是opencv的依赖包,要先在虚拟环境中安装一下。

pip install numpy

编译安装OpenCV

接着使用CMake设置构建:

cd ~/opencv/opencv-3.4.0/ 

mkdir build 

cd build 

 

这里面有个特别注意的地方,前面所下载的opencv中的contrib这个附加库的目录地址,需要将opencv额外的库路径指定给附加库的这个牡蛎地址。如果出错的话,则会导致安装失败。

下面就开始正式的编译了。

make

如果采用下面的这个命令,耗费的时间可能更短,但有可能会导致编译不稳定,有的内容没有被编译,如图5.4所示是树莓派在编译的过程:

图5.4编译的过程图

make -j4

按理来说调用4个核心来编译,时间应该会大大缩短。但是据说这样不是太稳定,容易出错。直接用make命令单核心编译的,花了差不多4个小时,据说用4核心,差不多一个半小时。

树莓派比较慢,编译两天,以为树莓派老是在编译的过程中死机。在计算机虚拟机上编译最多一个小时,由此可以看出树莓派跟真正的计算机比起来还是差远了。

在漫长的编译等待100%完成后,终于可以安装了

安装opencv

sudo make install

sudo ldconfig

为虚拟环境引用类库

因为这是python3+虚拟环境,将编译好的so文件,链接到虚拟环境中。

cd ~/.virtualenvs/opencv/lib/python3.5/site-packages/

如果usr下的local文件夹下的lib库文件件下面的python3.5的目录下的site这个文件夹里面如果没有cv2.so的这个文件,意味这次安装opencv失败,需要重新再来一次,再来一到两天。

安装完成之后,检查所安装的版本号

python

>>> import cv2s

>>> print(cv2.__version__)

3.4.0

若能够成功显示opencv的版本号,则代表opencv安装成功[10]。

 

具体我应该参考了下面的两个教程:

https://medium.com/@debugvn/installing-opencv-3-3-0-on-ubuntu-16-04-lts-7db376f93961

https://www.python36.com/how-to-install-opencv340-on-ubuntu1604/

 

猜你喜欢

转载自blog.csdn.net/eilot_c/article/details/79311430