首頁 > 軟體

Linux下編譯安裝OpenCV

2020-06-16 17:09:50

  OpenCV是一個跨平台的計算機視覺庫,可以執行在Windows、Linux、MacOS等作業系統上。OpenCV提供了眾多語言的介面,其中就包含了Python,Python是一門上手容易、使用起來十分讓人愉悅的語言,利用Python學習OpenCV,相信能更快的獲得效果。

  OpenCV的官方下載網址是http://opencv.org/releases.html,我選擇的是最新3.2.0版本。

  對於Windows使用者,可直接下載exe檔案安裝,過程十分簡單,這裡就不再多說了,如果遇到問題可以看看官方的安裝指南

  對於Linux使用者,可下載OpenCV原始碼自行編譯。在官網上下載zip格式的原始碼壓縮包,在編譯之前需要先安裝幾個包:  

  • GCC 4.4.x or later
  • CMake 2.8.7 or higher
  • Git
  • GTK+2.x or higher, including headers (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
  • ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
  • [optional] libtbb2 libtbb-dev
  • [optional] libdc1394 2.x
  • [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
  • [optional] CUDA Toolkit 6.5 or higher

  [optional]代表這個package是可選的,上面這些包都是可以通過apt-get命令直接安裝的,開啟終端,輸入以下命令:

[compiler] $ sudo apt-get install build-essential 
[required] $ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] $ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

只需一小會,編譯所依賴的packages便全部安裝完畢了(這也是我喜歡Linux的原因之一,安裝package十分的便利)。接著就是開始編譯了,實際上編譯只需要三行命令就可以完成。不過在此之前,還要在解壓後的opencv-XXX 資料夾內建立一個build資料夾,編譯生成的makefiles、project files、object files和output files會放在build資料夾裡面。完成後,就可以開始正式的編譯了。

  第一步,設定。

$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

CMAKE_BUILD_TYPE:       build的型別,有Release和Debug兩種

CMAKE_INSTALL_PREFIX:  指定想要安裝OpenCV的資料夾目錄,一般就用/usr/local

除此之外,還可以新增上BUILD_DOCS 來build文件 以及 BUILD_EXAMPLES 來build所有的樣例

注意:如果上面的命令列無法運作,則把-D後面的空格去掉: 

$ cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..

  第二步,build。為了加快編譯速度,一般會使用多執行緒的方法:

make -j7 # 同時使用七個執行緒

  第三步,安裝。

sudo make install

  如果到現在你還沒遇到任何問題,那麼恭喜你,你已經成功在Linux上安裝了OpenCV。為了測試你的OpenCV能否在Python上使用,可以執行一段小程式碼,讀取一張圖片並顯示出來:

import cv2

image = cv2.imread("logo.png", 1)
cv2.imshow("Hello, world!", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

如果執行時報錯,嘗試把圖片的相對路徑改為絕對路徑。執行成功後,你會看到:

                                         

OpenCV官方教學中文版(For Python) PDF  http://www.linuxidc.com/Linux/2015-08/121400.htm

Ubuntu 14.04安裝OpenCV2.4.9  http://www.linuxidc.com/Linux/2016-07/132884.htm

Ubuntu 16.04上用CMake圖形介面交叉編譯樹莓派的OpenCV3.0 http://www.linuxidc.com/Linux/2016-10/135914.htm

Ubuntu 16.04中安裝OpenCV 2.4.11  http://www.linuxidc.com/Linux/2016-07/132882.htm

Linux上安裝和編譯OpenCV3.0.0  http://www.linuxidc.com/Linux/2017-07/145446.htm

Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安裝  http://www.linuxidc.com/Linux/2016-07/132860.htm

Ubuntu 16.04下TensorFlow+Caffe+OpenCV3.1+Theano部署  http://www.linuxidc.com/Linux/2017-01/139503.htm

Ubuntu 16.04 編譯安裝OpenCV 3.1及OpenCV多版本切換 http://www.linuxidc.com/Linux/2017-01/139325.htm


IT145.com E-mail:sddin#qq.com