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
sudo make install
测试
补充
记得装opencv3.2的时候按上面的步骤最后只编译了python2的,python3是配合virtualenv,配置python环境才能编译出来。