1. 程式人生 > >OpenCV3.3 + Python3.6 開發環境配置

OpenCV3.3 + Python3.6 開發環境配置

2018.9.6 更新:Anaconda3-5.2.0版本(Python 3.6)下OpenCV 3 安裝

今天重新安裝了 Python 的環境,發現在新版本 Anaconda3 下安裝配置 OpenCV 3 十分簡單。
Anaconda navigator 左側選擇 Environment ,在右側要使用的環境中,左上方將 Installed 改為 All,右側搜尋 cv ,便可看到 opencv,勾選後點選右下角 Apply ,同時還會安裝幾個依賴包,點選確認後稍等即可,我安裝的版本是 3.4.1 。
如此簡單,快在編輯器中 import cv2 試試吧!

以下是原文:

人生苦短,快用 Python

。傳統的 OpenCV 使用 C++ 開發,程式執行效率高,但是開發效率… Python 語法簡潔,現在越來越流行,如果對效率沒有嚴格要求的話非常推薦使用。比如我之前做的識別數獨的程式,慢一點也沒有關係。

在 Python 2.7 裡使用 OpenCV 實在是再簡單不過了,只需要把 OpenCV 目錄中 /build/python/2.7 裡的 “cv2.pyd” 複製貼上到 Python 目錄下的 \Lib\site-packages 資料夾中,再 import cv2 即可。

但是,本人一開始學的就是 Python 3 ,與2版本的還是有一些區別的,加上什麼都喜歡用最新版的強迫症,所以查了一些資料並做了實驗,把 OpenCV 3 在 Python 3 中的使用方法總結一下。

首先本文使用具體版本(2017.12.16):

  • Python 版本:3.6.3Anaconda 3
  • OpenCV 版本:3.3.1
  • Windows 10 x64

因為 opencv-python 需要 numpy 包,要安裝 numpy 可以自己下載安裝,不過如果使用 Anaconda 則更方便,包含了 numpy 在內的大量的科學包,還有很多其他好處。IDE使用的是 PyCharm ,美觀好用。安裝Anaconda3與PyCharm的過程很簡單,就不多說了。

1. Anaconda 下使用 conda 安裝 opencv

Anaconda使用conda管理各種包,關於conda的使用可以參考

這裡

如果在命令列裡輸入 conda install -c menpo opencv 的話,安裝的版本是 v2.4.11 ,不是我想要的版本。

如果在命令列裡輸入 conda install -c menpo opencv3 的話,安裝的版本是 v3.1.0 ,但是會提示:

UnsatisfiableError: The following specifications were found to be in conflict:
  - opencv3 -> python 2.7*
  - python 3.6*

意思是這個 opencv3 支援 python2.7 但是當前環境為 python3.6 ,所以直接使用 conda 安裝可以使用但只能對版本做出妥協

2. pip 安裝 opencv

使用python自帶的pip管理包的話,可以試試 pip install opencv-python ,之後會自動下載:

Downloading opencv_python-3.3.0.10-cp36-cp36m-win_amd64.whl (39.7MB)`

但是我在 anaconda 命令列裡使用 pip 總是下到一半出 Exception。

另一個辦法是在下面的網址下載對應版本及平臺的 .whl 包,再手動安裝。

例如我下載的是:opencv_python‑3.3.1‑cp36‑cp36m‑win_amd64.whl

將其拷貝到 Python 目錄下的 \Lib\site-packages 資料夾中,在這個目錄下開啟命令列(shift+右鍵),或者cd進這個目錄,輸入:

pip install opencv_python‑3.3.1‑cp36‑cp36m‑win_amd64.whl

安裝完成即可使用 import cv2

3. 使用 CMake 重新編譯適用於 python3 的 cv2.pyd

使用CMake重新配置和編譯,這種做法可以參考我的部落格中“使用 CMake + VS2017 ( + Python 3) 配置和編譯 OpenCV 3.3”一文,最後會得到 cv2.cp36-win_amd64.pyd 直接拷貝即可使用。

我嘗試了後兩種方案均可以成功,需要注意使用的版本及平臺是否對應,若使用版本不同可參考網路上其他教程。