OpenCV是一個跨平臺的電腦視覺庫,可以運行在Windows、Linux、MacOS等操作系統上。OpenCV提供了眾多語言的介面,其中就包含了Python,Python是一門上手容易、使用起來十分讓人愉悅的語言,利用Python學習OpenCV,相信能更快的獲得效果。 OpenCV的官方下載網 ...
一、OpenCV簡要介紹
OpenCV是一個跨平臺的電腦視覺庫,可以運行在Windows、Linux、MacOS等操作系統上。OpenCV提供了眾多語言的介面,其中就包含了Python,Python是一門上手容易、使用起來十分讓人愉悅的語言,利用Python學習OpenCV,相信能獲得不錯的效果。
二、從官網上下載源碼或安裝包
OpenCV的官方下載網址是http://opencv.org/releases.html,我選擇的是最新3.2.0版本。
三、編譯安裝前的準備工作
對於Windows用戶,可直接下載exe文件安裝,過程十分簡單,這裡就不再多說了,如果遇到問題可以看看官方的安裝指南
對於Linux用戶,可下載源碼自行編譯。在官網上下載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文件夾裡面。完成後,就可以開始正式的編譯了。
四、編譯安裝
1.配置。
$ 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 ..
2.編譯。
為了加快編譯速度,一般會使用多線程的方法:
make -j7 # 同時使用七個線程
3.安裝。
sudo make install
如果到現在你還沒遇到任何問題,那麼恭喜你,你已經成功在Linux上安裝了OpenCV。
五、在Python下測試你的OpenCV
為了測試你的OpenCV能否在Python上使用,可以運行一段小代碼,讀取一張圖片並顯示出來:
import cv2 # 引入OpenCV模塊
image = cv2.imread("logo.png", 1) # 讀取一張圖片,存儲在image中
cv2.imshow("Hello, world!", image) # 創建一個名為"Hello,world!"的視窗,把image在視窗中展示出來
cv2.waitKey(0) # 等待用戶按下任意按鍵
cv2.destroyAllWindows() # 銷毀所有的視窗
如果運行時報錯,嘗試把圖片的相對路徑改為絕對路徑。運行成功後,你會看到你所選擇的圖片,我的圖片是:
參考資料:OpenCV: Installation in Linux