標籤:opencv3.4 Python3.5 opencv-python ImportError DLL load failed
OpenCV近幾年功能不斷增強,目標檢測、跟蹤等方面出現了不少新演算法。自3.3版開始,火熱的深度神經網路的功能也加入其中。早期的OpenCV僅支援簡單的視頻播放功能,現在ffmpeg的部分功能也融入進來。為了驗證新功能的效果,準備在Python下跑幾個程式看看效果。不過,配置的過程還是有點小麻煩的。
首先開啟 Anaconda Prompt輸入
pip install opencv-python
然後,Anaconda會自動安裝python-3.4.0.12-cp35-cp35m-win_amd64.whl並提示成功安裝。
這時,開啟Spyder建立檔案cvtest.py並輸入
import cv2 as cv #讀入圖片檔案 src=cv.imread(‘text.jpg‘) #建立一個名字加 “ input image ” 的視窗, # 視窗可以根據圖片大小自動調整 cv.namedWindow(‘input image‘,cv.WINDOW_AUTOSIZE) #在視窗顯示圖片 cv.imshow(‘input image‘,src) #等待使用者操作 cv.waitKey(0) #釋放所有視窗 cv.destroyAllWindows()
運行該程式時,提示如下錯誤:
ImportError: DLL load failed: 找不到指定的模組。
為尋找原因,開啟pypi網站,搜尋openCV-python包,開啟其首頁。在回答的問題中有關於該問題的描述:
Q: Import fails on Windows to some DLL load error?
A: If the import fails on Windows, make sure you have Visual C++ redistributable 2015 installed. If you are using older Windows version than Windows 10 and latest system updates are not installed, Universal C Runtime might be also required.
也就是說要安裝Visual C++ redistributable 2015,但下載後無法安裝,提示已安裝相關的包,如所示。
於是在Anaconda 中開始尋找庫檔案,結果只在Anaconda3\Lib\site-packages\cv2\build下找到了opencv_ffmpeg340_64.dll檔案,沒有其它dll檔案或OpenCV提供給Python用的pyd檔案。說明pip的安裝有問題。
經百度,有人說Anaconda3\Lib\site-packages\ 目錄下有一些opencv開頭的dll檔案,將其複製至cv2檔案夾下即可,但我安裝的是opencv3.4,安裝後並沒有這些檔案。還有人說是pip安裝時選擇的OpenCV版本有問題。他解決了Python下安裝OpenCV3.2的問題。於是我們也開啟該網頁,找到我們需要的版本(64位,已上傳至本網站),即opencv_python?3.4.1+contrib?cp35?cp35m?win_amd64.whl或opencv_python?3.4.1?cp35?cp35m?win_amd64.whl並下載,比如下載至f:\tools,然後開啟CMD切換至該目錄,並運行pip命令安裝:
pip install opencv_python?3.4.1+contrib?cp35?cp35m?win_amd64.whl或pip install opencv_python?3.4.1?cp35?cp35m?win_amd64.whl
如果使用的不是Anaconda需要先安裝wheel。安裝完畢後再次運行cvtest.py不再提示ImportError。
附:dll檔案中函數查看方法:
- 使用vc++ 6.0的dependency查看;
- 使用Visual Studio 2010的IL反組譯工具查看;
- 開啟Visual Studio 2010命令列程式,輸入
dumpbin /exports H:\opencv3.4\build\bin\opencv_ffmpeg340_64.dll
這裡的動態庫檔案名稱可以輸入全路徑,也可以直接將dll檔案拖放至該命令列視窗。輸出結果如下:
上述三種工具在安裝了Visual c++ 6.0或Vsiual Studio 2010後,可以在開始菜單中找到。若果沒有安裝,可以搜尋下載相關的dll函數查看工具,安裝後可以查看。
OpenCV開發(1)——OpenCV3.4+Python3.5+Windows10安裝問題解決