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

ubuntu编译安装opencv3.3+python3,解决ippicv下载问题

2017-11-02 15:37 891 查看
2018.01.11更新

如果只是要在python用opencv,那么下面重新编译的方法真的太蠢了,可以用pip直接安装。真不明白为什么那么多博客都是教怎么编译源码,就这么简单一句话。

$ sudo pip3 install opencv_python


参考opencv官网https://opencv.org/

opencv源码下载

下载opencv3.3源码https://opencv.org/releases.html

或者git clone https://github.com/opencv/opencv.git

准备

升级系统已有包

sudo apt update
sudo apt upgrade


安装各种包

sudo apt install build-essential

sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev


因为用的python3,还要安装

sudo apt pytho3-dev python3-numpy


编译

opencv源码根目录名为opencv-3.3.1

创建编译目录build

cd ~/opencv-3.3.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..


这时会提示说要下载ippicv,结果下载失败。ippicv是并行计算库。

去github下载对应的库

https://github.com/opencv/opencv_3rdparty/branches/all



看cmake的提示下载对应版本的ippicv,我下的是ippicv/master_20170822



下载文件的地方位置在.cache/ippicv下,带md5的文件名字,需要把ippicv_2017u3_lnx_intel64_general_20170822.tgz前面加上md5

找到提示对应的文件,将文件拷贝到opencv-3.3.1同级目录

执行下面命令

ipp_file=ippicv_2017u3_lnx_intel64_general_20170822.tgz &&
ipp_hash=$(md5sum ../$ipp_file | cut -d" " -f1) &&
ipp_dir=.cache/ippicv                           &&

mkdir -p $ipp_dir &&
cp ../$ipp_file $ipp_dir/$ipp_hash-$ipp_file


在.cache/ippicv文件夹下有4e0352ce96473837b1d671ce87f17359-ippicv_2017u3_lnx_intel64_general_20170822.tgz文件

放好ippicv后可以重新cmake

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..


完成后看到下面提示,说明py2、py3依赖库都有。



编译和安装

make -j4
sudo make install


测试



补充

记得装opencv3.2的时候按上面的步骤最后只编译了python2的,python3是配合virtualenv,配置python环境才能编译出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐