本文主要介紹安裝opencv C++接口和python接口的幾種方法英岭。 首先介紹C++接口的,然后介紹Python接口的
C++接口安裝
采用源碼編譯的安裝方式湿右,基本也就是這種方法了诅妹,首先在官網(wǎng)下載你想安裝的版本的opencv壓縮包,下載連接如下:
https://github.com/opencv/opencv/releases
首先毅人,安裝一些依賴吭狡,根據(jù)自己的情況選擇,如果不知道自己安裝了那些依賴丈莺,就都輸入一遍划煮,如果已經(jīng)安裝系統(tǒng)會自動跳過,不會重復(fù)安裝
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
然后缔俄,將壓縮包解壓弛秋,我下載我是opencv3.4.3版本,所以最后解壓出來的文件夾就是opencv-3.4.3俐载,接著蟹略,先用命令行進(jìn)入該文件夾,然后執(zhí)行命令遏佣,如下所示:
cd ~/opencv-3.4.3 # 進(jìn)入opencv文件夾
mkdir build # 創(chuàng)建build文件夾
cd build # 進(jìn)入build文件夾
#cmake指令挖炬,如果沒有特殊要求建議就選擇默認(rèn)的就可以
#注意,后面的兩個點(diǎn)千萬不能省状婶,代表了上級目錄
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j7 # 多線程執(zhí)行make任務(wù)
# 最后一步意敛,安裝庫文件
sudo make install
#安裝完成
Python 接口安裝
有以下幾種方法馅巷。具體操作如下:
方法一(推薦):利用pip安裝opencv-python
在安裝之前,如果你之前安裝過舊版本的opencv草姻,那么就先將其刪除令杈,再進(jìn)行下面的安裝過程。
在pip中可以方便快速的安裝opencv-python和opencv-contrib-python碴倾,只需要輸入兩條指令即可:
$ pip install opencv-python #安裝opencv
$ pip install opencv-contrib-python #安裝opencv的contrib擴(kuò)展包
[圖片上傳失敗...(image-c68e2-1540209394304)]
常見問題:
- opencv-python和opencv-contrib-python是否必須要同時安裝?
答:不需要掉丽,他們分別可以獨(dú)自運(yùn)行跌榔,但是一般情況下,都會將兩個包都裝上 - 報錯顯示pip找不到包捶障?
答:這種請看多半是因為pip比較舊僧须,這時只需要輸入下面的指令更新以下pip就行了
$ pip install --upgrade pip
$ pip install wheel #如果確定已經(jīng)安裝了wheel就不用執(zhí)行這條指令
- 安裝過程遇到錯誤提示?
答:確保你已經(jīng)刪除了舊版本的opencv python捆綁包
方法二:利用conda安裝opencv
利用conda安裝opencv项炼,這種方法相較于pip安裝方法來說担平,可以自由選擇opencv的版本,使用面更廣锭部,但是缺點(diǎn)是不能安裝opencv-contrib暂论。具體操作如下:
首先,可以查詢一下conda里面可以安裝的opencv:
conda search opencv
[圖片上傳失敗...(image-758796-1540209394304)]
然后拌禾,根據(jù)你想要安裝的opencv版本(以3.1.0為例)取胎,輸入以下指令即可:
conda install opencv=3.1.0
[圖片上傳失敗...(image-205600-1540209394304)]
以上兩種opencv的安裝方法可以滿足大部分人的基本需求,但是湃窍,如果你既想要自定義選擇opencv的版本闻蛀,又想要安裝opencv-contrib擴(kuò)展庫,那么可以采用源碼編譯的方式安裝您市,這也是opencv官方推薦的安裝方式觉痛。
方法三:源碼編譯安裝opencv和contrib
首先,更新以下系統(tǒng):
$ sudo apt-get update
$ sudo apt-get upgrade
接著茵休,安裝需要的編譯工具
$ sudo apt-get install build-essential cmake pkg-config
然后薪棒,安裝相應(yīng)的依賴包
$ sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libatlas-base-dev gfortran
然后在Github的opencv項目主頁下載你需要的版本,注意contrib的版本和opencv的版本要一致泽篮。
opencv源碼下載地址:
https://github.com/opencv/opencv/releases
contrib源碼下載地址:
https://github.com/opencv/opencv_contrib/releases
[圖片上傳失敗...(image-4053fc-1540209394304)]
下載好opencv的源碼壓縮包以后盗尸,將其解壓,然后帽撑,進(jìn)入到opencv的文件夾中(這里我以opencv3.1.0為例):
(注意泼各,如果下面的指令報錯,就將所有-D后面的空格刪除)
$ cd ~/opencv-3.1.0/
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \ #這里是opencv的安裝路徑亏拉,建議不要修改扣蜻,就采用默認(rèn)的安裝路徑即可
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
-D PYTHON_EXECUTABLE=~/.pyenv/bin/python \ #這是要用來編譯的python路徑
-D BUILD_EXAMPLES=ON .. # 我在編譯例子時遇到錯誤逆巍,把它改為OFF通過
上邊的參數(shù)配置中,有幾處是需要根據(jù)你自己電腦上的路徑來設(shè)置的:
- CMAKE_INSTALL_PREFIX:opencv的安裝路徑莽使,可以自己設(shè)置锐极,但建議就用默認(rèn)路徑
- OPENCV_EXTRA_MODULES_PATH:contrib文件夾的所在路徑,取決于你剛剛下載的contrib壓縮包解壓后的文件位置
- PYTHON_EXECUTABLE:用來進(jìn)行編譯的python路徑芳肌,如果你不知道自己所有python的路徑的話灵再,可以利用指令
which python
來查詢
完成cmake的配置后,利用make指令進(jìn)行編譯:
$ make
然后在進(jìn)行安裝
$ sudo make install
$ sudo ldconfig
最后亿笤,建立軟連接
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so