您的位置:首页 > 编程语言 > Python开发

Ubuntu16.04 opencv3 python2.7 caffe(CPU_ONLY)

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

一:Ubuntu 16.04 安装

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

安装好系统后装一些基本应用和常用命令

常用命令包括git、vim什么的

sudo apt install vim
sudo 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  update
sudo 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


<
af34
p>为了安装python开发头和库

3:下载opencv

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

git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git[/code] 
4:安装python环境

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

安装pip:

cd /home
wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py
sudo rm get-pip.py


这个时候就安装好了pip

然后可以用sudo pip install packages’name 来安装各种python包了

比如安装个numpy啊什么的

sudo pip install numpy


5:安装opencv

cd /home/plato/opencv/opencv
mkdir build
cd build
camke -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 -j8
sudo 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-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev


2:下载caffe源码

git clone https://github.com/bvlc/caffe.git[/code] 
(这个存在了/home/plato下的caffe里)

3:修改Makefile.config

cd caffe
mv Makefile.config.example Makefile.config
vim 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/python
sudo 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/.bashrc
sudo 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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: