在本教程中,咱們將學習在Ubuntu System中設置OpenCV-Python。如下步驟針對Ubuntu 16.04和18.04(均爲64位)進行了測試。html
能夠經過兩種方式在Ubuntu中安裝OpenCV-Python:python
另外一個重要的事情是所需的其餘庫。OpenCV-Python僅須要Numpy(除了其餘依賴關係,咱們將在後面看到)。可是在本教程中,咱們還使用Matplotlib進行一些簡單而又漂亮的繪圖目的(與OpenCV相比,我感受好多了)。Matplotlib是可選的,但強烈建議使用。一樣,咱們還將看到IPython,這是一個強烈推薦的交互式Python終端。linux
僅用於編程和開發OpenCV應用程序時,此方法最有效。git
在終端(以root用戶身份)中使用如下命令安裝python-opencv:https://packages.ubuntu.com/trusty/python-opencv軟件包。github
$ sudo apt-get install python-opencv
web
打開Python IDLE(或IPython),而後在Python終端中鍵入如下代碼。編程
import cv2 as cv print(cv.__version__)
若是打印出來的結果沒有任何錯誤,那就恭喜!你已經成功安裝了OpenCV-Python。ubuntu
這看起很容易,但也可能出現問題。Apt存儲庫不必定老是包含最新版本的OpenCV。例如,在編寫本教程時,apt存儲庫包含2.4.8,而最新的OpenCV版本是3.x。關於Python API,最新版本將始終包含更好的支持和最新的錯誤修復。網絡
所以,要獲取最新的源代碼,首選方法是從源代碼進行編譯。一樣在某個時間點,若是你想爲OpenCV作出貢獻,則將經過這種方式。python2.7
首先,從源代碼進行編譯彷佛有些複雜,可是一旦成功完成,就沒有什麼複雜的了。
首先,咱們將安裝一些依賴項。有些是必需的,有些是可選的。若是不想,能夠跳過可選的依賴項。
咱們須要CMake來配置安裝,須要GCC進行編譯,須要Python-devel和Numpy來構建Python依賴項等。
sudo apt-get install cmake sudo apt-get install gcc g++
支持python2: sudo apt-get install python-dev python-numpy
支持python3: sudo apt-get install python3-dev python3-numpy
接下來,咱們須要GUI功能的GTK支持,相機支持(v4l),媒體支持(ffmpeg,gstreamer)等。
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
支持gtk2: sudo apt-get install libgtk2.0-dev
支持gtk3: sudo apt-get install libgtk-3-dev
以上依賴關係足以在你的Ubuntu計算機中安裝OpenCV。可是根據你的需求,你可能須要一些額外的依賴項。此類可選依賴項的列表以下。你能夠跳過或安裝它,取決於你:)
OpenCV附帶了用於圖像格式(例如PNG,JPEG,JPEG2000,TIFF,WebP等)的支持文件。可是它可能有些舊。若是要獲取最新的庫,能夠爲這些格式的系統庫安裝開發文件。
sudo apt-get install libpng-dev sudo apt-get install libjpeg-dev sudo apt-get install libopenexr-dev sudo apt-get install libtiff-dev sudo apt-get install libwebp-dev
> 注意 若是你使用的是Ubuntu 16.04,則還能夠安裝libjasper-dev
以添加對JPEG2000格式的系統級別支持。
要從OpenCV的GitHub Repository:https://github.com/opencv/opencv下載最新的源代碼。 (若是你想爲OpenCV作出貢獻,請選擇此項。爲此,你須要先安裝Git)
$ sudo apt-get install git $ git clone https://github.com/opencv/opencv.git
它將在當前目錄中建立一個文件夾"opencv"。下載可能須要一些時間,具體取決於你的Internet網絡。
如今打開一個終端窗口,並導航到下載的"opencv"文件夾。建立一個新的"build"文件夾並導航到它。
$ mkdir build $ cd build
如今咱們有了全部必需的依賴項,讓咱們安裝OpenCV。必須使用CMake配置安裝。它指定要安裝的模塊,安裝路徑,要使用的其餘庫,是否要編譯的文檔和示例等。大多數工做都是使用配置良好的默認參數自動完成的。
如下命令一般用於配置OpenCV庫構建(從構建文件夾執行): $ cmake ../
OpenCV的默認默認設置爲"Release"構建類型,安裝路徑爲/usr/local
。有關CMake選項的更多信息,請參考OpenCV C++編譯指南:https://docs.opencv.org/4.1.2/d7/d9f/tutorial_linux_install.html
你應該在CMake輸出中看到如下幾行(它們意味着正確找到了Python):
-- Python 2: -- Interpreter: /usr/bin/python2.7 (ver 2.7.6) -- Libraries: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6) -- numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2) -- packages path: lib/python2.7/dist-packages -- -- Python 3: -- Interpreter: /usr/bin/python3.4 (ver 3.4.3) -- Libraries: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (ver 3.4.3) -- numpy: /usr/lib/python3/dist-packages/numpy/core/include (ver 1.8.2) -- packages path: lib/python3.4/dist-packages
如今,使用make
命令構建文件,而後使用make install
命令安裝文件。
$ make # sudo make install
安裝結束。全部文件都安裝在/usr/local/
文件夾中。打開終端,而後嘗試導入cv2
。
import cv2 as cv print(cv.__version__)