參考 https://www.cnblogs.com/arkenstone/p/6490017.htmlhtml
https://blog.csdn.net/u013180339/article/details/77507936python
這裏的安裝沒有用pip或是conda安裝,經過pip或者conda安裝的opencv只是封裝了opencv的Python API,通常狀況下也夠用。可是若是準備安裝完整版本的opencv,這裏比較建議將opencv-python卸載,以避免以後產生一些沒必要要的報錯。git
1.配置環境github
$ sudo apt-get install build-essential $ sudo 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 # 優化opencv功能 $ sudo apt-get install ffmpeg
這裏須要下載opencv和opencv_contrib(後者會在cmake配置的時候用到),這是由於opencv3之後SIFT和SURF之類的屬性被移到了contrib中vim
$ wget https://github.com/opencv/opencv/archive/3.4.0.zip # 從github上直接下載或者clone也可 $ wget https://github.com/opencv/opencv_contrib/archive/3.4.0.zip
解壓安裝完cmake配置屬性 ,建立編譯文件夾bash
$ unzip 3.4.0.zip
$ cd opencv-3.4.0
$ mkdir bilud
$ cd build
$ cmake -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=~/opencv_contrib-3.4.0/modules \
-D PYTHON_EXCUTABLE=/usr/bin/python \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_QT=ON \ # 1
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D BUILD_EXAMPLES=ON .. # cmake命令的使用方式:cmake [<some optional parameters>] <path to the OpenCV source directory>。
若是命令報錯的話能夠試着把-D後面的空格去掉在執行一次。
$ make -j4 #4是根據本身電腦的核數肯定,個人電腦4核
$ sudo make install
$ sudo /bin/bash -c 'echo "/home/fanzong/anaconda2/envs/tensorflow/lib" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig
PS:1. 若是qt未安裝能夠刪去此行;
CMAKE_INSTALL_PREFIX:安裝的python目錄前綴,其實就是指定了python模塊的安裝路徑。以下命令的輸出便是該路徑:測試
python -c "import sys; print(sys.prefix)"
PYTHON_EXCUTABLE:指定python的執行文件路徑。以下命令的輸出便是該路徑優化
which python
若是想關閉掉ippicv的安裝,只需在上述cmake命令中增長一行: -D WITH_IPP=OFF \ 便可 ui
查看本身電腦核數的命令spa
# 總核數 = 物理CPU個數 X 每顆物理CPU的核數 # 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數 # 查看物理CPU個數 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每一個物理CPU中core的個數(即核數) cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看邏輯CPU的個數 cat /proc/cpuinfo| grep "processor"| wc -l
# 查看CPU信息(型號)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# 查看內 存信息
cat /proc/meminfo
# 查看cpu詳細信息
cat /proc/cpuinfo
上述配置命令執行成功後,繼續執行編譯命令
sudo make install 執行完畢後OpenCV編譯過程就結束了,接下來就須要配置一些OpenCV的編譯環境首先將OpenCV的庫添加到路徑,從而可讓系統找到
sudo vim /etc/ld.so.conf.d/opencv.conf
執行此命令後打開的多是一個空白的文件,不用管,只須要在文件末尾添加
/usr/local/lib
執行以下命令使得剛纔的配置路徑生效
sudo ldconfig
安裝完成之後,重啓下機器,檢測opencv版本
python -c "import cv2; print(cv2.__version__)"
若是正確安裝的話則會輸出3.4.0