在Ubuntu中安裝OpenCV-Python

在本教程中,我們將學習在Ubuntu System中設置OpenCV-Python。以下步驟針對Ubuntu 16.04和18.04(均為64位)進行了測試。

可以通過兩種方式在Ubuntu中安裝OpenCV-Python:

  • 從Ubuntu存儲庫中可用的預構建二進制文件安裝
  • 從源代碼編譯。在本節中,我們將同時看到兩者。

另一個重要的事情是所需的其他庫。OpenCV-Python僅需要Numpy(除了其他依賴關係,我們將在後面看到)。但是在本教程中,我們還使用Matplotlib進行一些簡單而又漂亮的繪圖目的(與OpenCV相比,我感覺好多了)。Matplotlib是可選的,但強烈建議使用。同樣,我們還將看到IPython,這是一個強烈推薦的交互式Python終端。

從預構建的二進制文件安裝OpenCV-Python

僅用於編程和開發OpenCV應用程序時,此方法最有效。

在終端(以root用戶身份)中使用以下命令安裝python-opencv:https://packages.ubuntu.com/trusty/python-opencv軟件包。

$ sudo apt-get install python-opencv

打開Python IDLE(或IPython),然後在Python終端中鍵入以下代碼。

import cv2 as cv
print(cv.__version__)

如果打印出來的結果沒有任何錯誤,那就恭喜!你已經成功安裝了OpenCV-Python。

這看起很容易,但也可能出現問題。Apt存儲庫不一定總是包含最新版本的OpenCV。例如,在編寫本教程時,apt存儲庫包含2.4.8,而最新的OpenCV版本是3.x。關於Python API,最新版本將始終包含更好的支持和最新的錯誤修復。

因此,要獲取最新的源代碼,首選方法是從源代碼進行編譯。同樣在某個時間點,如果你想為OpenCV做出貢獻,則將通過這種方式。

從源代碼構建OpenCV

首先,從源代碼進行編譯似乎有些複雜,但是一旦成功完成,就沒有什麼複雜的了。

首先,我們將安裝一些依賴項。有些是必需的,有些是可選的。如果不想,可以跳過可選的依賴項。

所需的構建依賴項

我們需要CMake來配置安裝,需要

GCC進行編譯,需要Python-develNumpy來構建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

要從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/tutoriallinuxinstall.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__)


分享到:


相關文章: