Ubuntu16.04 opencv3 python2.7 caffe(CPU_ONLY)

来源:互联网 发布:js跨域方法 编辑:程序博客网 时间:2024/05/23 05:06

我是深度学习小白菜一颗,这个总结是我自己在配置环境的时候一步一步踩坑踩出来的,当然在遇到错误的时候看了很多前辈们的博客,也看了很多官网的tutorial,所以感谢那些前辈们的付出与贡献。希望大家转载的时候注明出处。

一:Ubuntu 16.04 安装

教程地址:https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-windows#0

安装好系统后装一些基本应用和常用命令
常用命令包括git、vim什么的

sudo apt install vimsudo apt-get install git

基本应用,这里我装了一个搜狗拼音输入法
搜狗输入法:
(1)下载地址:http://pinyin.sogou.com/linux/?r=pinyin ,根据你的实际情况选择相应的安装包。
(2)下好后双击安装
这里写图片描述
(3)terminal里输入im-config 然后会出现一个对话框,点击OK,接着点击yes,然后选择fcitx,点击OK,接着OK。
这里写图片描述
(4)重启电脑shutdown -r now
(5)terminal里输入fcitx-config-gtk3,弹出一个对话框,如果对话框里有sogou输入法,那直接关掉,如果没有,那么点击对话框左下角的(+)按钮,弹出另一个对话框。然后,取消Only Show Current Language(很重要,否则不能找到刚安装过的搜狗输入法!)最后,在输入框中输入sogou,选中点击OK即可。添加完后将其放置到列表的最下方,注意,是最下方!!!然后默认输入法就是搜狗输入法了。

二:Opencv3 安装( + python 接口)

1:

sudo apt-get  updatesudo apt-get  upgrade

这里可能会出现无法获得锁的问题,如果出现这种情况执行下面的语句(注意无法获得什么锁就rm什么)

 sudo rm /var/cache/apt/archives/lock       sudo rm /var/lib/dpkg/lock

2:后安装一些安装openCV需要的包

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

pkg-config是编译opencv的时候需要的,cmake是为了camke的时候用

sudo apt-get install libjpeg8-dev  libtiff5-dev   libjasper-dev   libpng12-dev 

这些包都是为了OPENCV从硬盘里读入各种格式的图片

sudo apt-get install libavcodec-dev   libavformat-dev   libswscale-dev    libv4l-dev    libxvidcore-dev    libx264-dev

为了读入视频

sudo apt-get install libgtk-3-dev

为了使用opencv里的highgui模块

sudo apt-get install libatlas-base-dev gfortran 

为了优化opencv里的各种功能

sudo apt-get install python2.7-dev

为了安装python开发头和库

3:下载opencv
到你想放opencv的路径那里去(我的路径是 cd /home/plato/opencv/)我这里同时下载了opencv_contrib,这种方法下载的是最新的opencv,这就有可能会出现问题,因此可以去opencv官网下载稳定版本的opencv,安装方法同样

git clone https://github.com/opencv/opencv.gitgit clone https://github.com/opencv/opencv_contrib.git

4:安装python环境
本安装方法使用的是ubuntu16.04自带的python,所以这个时候要先把pip安装好
安装pip:

cd /homewget https://bootstrap.pypa.io/get-pip.pysudo python get-pip.pysudo rm get-pip.py

这个时候就安装好了pip
然后可以用sudo pip install packages’name 来安装各种python包了
比如安装个numpy啊什么的

sudo pip install numpy

5:安装opencv

cd /home/plato/opencv/opencvmkdir buildcd buildcamke -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D INSTALL_PYTHON_EXAMPLES=ON \-D INSTALL_C_EXAMPLES=OFF \-D OPENCV_EXTRA_MODULES_PATH=/home/plato/opencv/opencv_contrib/modules/ \-D PYTHON_EXECUTABLE=/usr/bin/python \-D BUILD_EXAMPLES=ON ..  

注意最后的两点

接下来

make -j8sudo make install 

(这个完成后会在/usr/local/lib/python2.7/site-packages/ 里生成一个cv2.so 如果没有就检查一下 /usr/local/lib/python2.7/ dist-packages/ 里有没有,一般是有的,这个时候opencv的python接口就做好了)

sudo ldconfig

此时,你可以在python里自由自在地 import cv2

三:caffe 的安装

1:环境准备(这些安装过程中只要出现失败的时候先sudo apt-get update一下,若不能解决在寻找其他办法)

sudo apt-get insatll libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install python-devsudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

2:下载caffe源码

git clone https://github.com/bvlc/caffe.git

(这个存在了/home/plato下的caffe里)

3:修改Makefile.config

cd caffemv Makefile.config.example Makefile.configvim Makefile.config

(1)uncomment these (删掉下面这些配置行的#号)

# CPU_ONLY := 1# OPENCV_VERSION := 3# WITH_PYTHON_LAYER := 1

(2)前面的环境准备中用的是libhdf5-serial-dev,所以应在

INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include 

后面加上

  /usr/include/hdf5/serial/

即为

INCLUDE_DIRS:= $(PYTHON_INCLUDE) /usr/local/include  /usr/include/hdf5/serial/

3:修改Makefile

vim Makefile

把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial即如下

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5

改为

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

4:安装

make -j8

5:caffe的python接口的配置

由于咱们用的是Ubuntu16.04自带的python(虽然anaconda更方便。。。但是我配置opencv的python接口的时候一直出错没能解决问题,所以就用了自带的python了)

cd /home/plato/caffe/pythonsudo pip install -r requirements.txt  

(安装caffe的python接口所需要的python库)

然后将caffe目录中的python路径加入环境变量中

vim /home/plato/.bashrc

将下面这句加入打开的 .bashrc 文件中

export PYTHONPATH=/home/plato/caffe/python:$PYTHONPATH

保存后退出,然后

source /home/plato/.bashrcsudo ldconfig

然后在caffe根目录下

 cd /home/plato/caffe
sudo make pycaffe

这个时候可能会报错 fatal error: numpy/arrayobject.h没有那个文件或目录

此时

sudo apt-get install python-numpy

然后

sudo make pycaffe

若成功了,那么你可以在python里快乐地 import caffe

参考资料:
1:http://lib.csdn.net/article/opencv/46532
2:http://www.cnblogs.com/longmao-yiran/p/6832374.html
3:http://www.cnblogs.com/denny402/p/5679037.html
4:http://blog.csdn.net/wuzuyu365/article/details/52430657
5:http://blog.csdn.net/zkp0601/article/details/41349253
6:http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/
7:https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-windows
8:http://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
9:http://caffe.berkeleyvision.org/

阅读全文
0 0
原创粉丝点击