1. 程式人生 > >Windows下Python(anaconda環境)第三方庫OpenCV安裝

Windows下Python(anaconda環境)第三方庫OpenCV安裝

啟動jupyter notebook可以直接開啟anaconda navigator,點選launch,更為簡便的方法是開啟anaconda prompt,輸入jupyter notebook

jupyter notebook啟動後,其工作目錄只能位於起始目錄和起始目錄的子目錄,無法訪問其他的目錄,所以設定一個合適的啟動目錄會帶來很多便利,預設的起始目錄為:C:\Users\XXX(XXX為當前使用者),修改起始工作目錄有多種方法,最簡單的是開啟Windows的命令列cmd,在cmd中輸入:jupyter notebook --generate-config,然後會在C:\Users\XXX\.jupyter(XXX為當前使用者名稱)資料夾中生成jupyter_notebook_config.py檔案

開啟檔案(此處用sublime text),定位到## The directory to use for notebooks and kernels.這一行,把下一行的程式碼的井號鍵#刪除,引號內部填寫自己設定的jupyter notebook的工作目錄,然後儲存,注意:設定的起始目錄需要提前建立,否則jupyter notebook會因為找不到起始目錄而閃退

開啟anaconda prompt,輸入conda env list,可以看到目前已有的虛擬環境(virtual env),最左邊的<>內的標識即為當前所處的環境,預設的環境為base,list中的星號鍵*也是相應的標識

如果想在虛擬環境中安裝OpenCV,首先建立虛擬環境:conda create --name opencv python=3.5(opencv用下劃線標註,表示這是使用者自定義的名字,Python版本可以自己定義,關於版本相容性的問題,我個人只能確定Python3.5.X下OpenCV3.4.X版本能夠正常執行),然後一直繼續就可以了。

建立成功後啟用虛擬環境:activate opencv

更多關於如何建立、啟用、退出、銷燬虛擬環境的資訊,參考anaconda官方文件 Managing environments

如果不需要將OpenCV單獨安裝在一個虛擬環境(virtual env)裡面,可直接在base環境裡面安裝,但如果base中Python版本為Python2,建議單獨開一個Python3的虛擬環境(Python3.5)

,建立:conda create --name opencv python=3.5(和前文一樣),然後啟用:activate opencv(opencv只是虛擬環境的名字)

安裝OpenCV:conda install opencv,然後一路繼續(最終我個人記得成功安裝的解決方案非常簡單,主要是各種環境配置比較麻煩,如果行不通試一試底部的參考連線)

在命令列中直接進入Python,import cv2引入opencv庫,然後檢視版本,opencv已經成功安裝

然後從opencv的虛擬環境中啟動jupyter notebook

新建一個Python3,選擇一個cell,import cv2,沒有報錯即為正確安裝,同時可import os,通過os.sys.path檢視當前的環境路徑,圖中顯示執行在名為opencv的虛擬環境中

一定要注意的問題是,在虛擬環境中啟動jupyter notebook,實際的工作環境仍為base環境,所以在命令列中import cv2,顯示正常,但是開啟jupyter notebook後無法正常import,所以需要在虛擬環境中單獨下載jupyter notebook後,再從命令列啟動jupyter notebook,下載:conda install jupyter notebook

由於下載的時候安裝了不同來源的多個opencv,所以即使在import時沒有產生矛盾,但是opencv的實際執行版本需要手動驗證:cv2.__version__,如果不符合自己的需要的版本,比如opencv3.4.3中不包含SIFT以及SURF演算法,需要通過在conda prompt中檢視當前下載的opencv的庫,檢視是否有3.4.3版本的opencv,存在的話手動移除:conda uninstall XXX(XXX是對應的package名字)

再次檢視版本,即為所需的3.4.2版本

額外的參考連結