Ubuntu16.04下編譯安裝OpenCV3.4.0(C++ & python)
前提是已經安裝了python2,python3
1)安裝各種依賴庫
sudo apt-get update
sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install ffmpeg
2) 下載 opencv 源碼
https://github.com/opencv/opencv/releases
選擇最新(或自己喜歡的)版本,然后減壓
3)編譯安裝
cd ~/opencv-3.4.0
mkdir build
cd build
配置
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
編譯安裝
make -j4
sudo make install
測試
import cv2
print(cv2.version)
3.4.0
錯誤
IPPICV: Download failed: 28;"Timeout was reached"
1) 下載ippicv_2017u3_lnx_intel64_general_20170822.tgz,結果下載失敗
解決辦法是重復試一下,一般都會下載成功。
如果一直失敗則
1)手動下載ippicv庫
https://github.com/opencv/opencv_3rdparty/pull/22/commits/dfe3162c237af211e98b8960018b564bc209261d
2) 將文件拷貝到opencv-3.4.0同級目錄
3)執行如下命令
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