前言
? ? ?記錄下Python配置Opencv的坑!Win7 64+Python3.6+Opencv3.4
? ? ?本以為安裝Python配置opencv的環(huán)境很簡單,結(jié)果掉入坑里去了,剛剛解決,記錄下。
? ? ? 首先安裝Python不用說,其次是安裝Numpy,這個(gè)在“微信小游戲跳一跳配置Python環(huán)境已經(jīng)解決了”,最后就是安裝Opencv了,網(wǎng)上很多關(guān)于Opencv的配置方法,但是會(huì)有些問題,下面我一一講解。
? ? ? 1.?我已安裝opencv3.4,進(jìn)入opencv3.4的安裝目錄,到opencv/build/python/2.7/x64下的,復(fù)制cv2.pyd,(因?yàn)槲业碾娔X是64位的,所以找的是x64目錄),把它放到Python/Lib/sit-packages這個(gè)目錄下,這個(gè)方法的結(jié)果是沒有用,因?yàn)槟壳肮倬W(wǎng)上下載的opencv支持的python只是2.7的版本,還沒有支持Python3.x的版本,所以在Python3.6的環(huán)境下是不可以的。
? ? ? ?2.有非官網(wǎng)已經(jīng)編譯好的opencv_python的版本,網(wǎng)址為:https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv,我下載了opencv_python?3.4.0+contrib?cp36?cp36m?win_amd64.whl,把它放到Python/Scripts目錄下,打開cmd,進(jìn)入這個(gè)目錄,運(yùn)行:pip install?opencv_python?3.4.0+contrib?cp36?cp36m?win_amd64.whl,安裝好后,我以為沒有問題了,于是在Python腳本中輸入:import cv2? 結(jié)果報(bào)錯(cuò)了:
? ? ?看了N多篇博客,都是這樣配置成功的,無奈之下,我又重新安裝opencv_python?3.4.0?cp36?cp36m?win_amd64.whl,結(jié)果提示我已經(jīng)安裝了opencv_python,我輸入:import cv2,還是報(bào)上圖的錯(cuò),整個(gè)人都要崩潰了。
? ? ? ? 3.最后終于在https://www.cnblogs.com/combfish/p/5639424.html這篇博客中找到解決辦法,原來是我缺少dll解析的依賴項(xiàng),到?https://www.microsoft.com/en-us/download/details.aspx?id=48145下載Visual C++ 2015 redistribution package,點(diǎn)擊download,我的電腦是64位,所以下載vc_redist.x64.exe,下載后,點(diǎn)擊安裝,也不需要選安裝目錄啥的,就安裝好了,然后我輸入:import cv2,最終沒有報(bào)錯(cuò),終于搞好了,好開心,特地記錄下。
后記
? ? ? ? 在這里記錄下opencv_python?3.4.0+contrib?cp36?cp36m?win_amd64.whl和opencv_python?3.4.0?cp36?cp36m?win_amd64.whl的區(qū)別,因?yàn)槲沂窃赑yCharm上運(yùn)行的代碼,因?yàn)榄h(huán)境的問題,我需要在PyCharm項(xiàng)目的Scripts目錄下重新install opencv_python,因?yàn)槲蚁劝惭b的是opencv_python?3.4.0?cp36?cp36m?win_amd64.whl,在運(yùn)行代碼時(shí)出現(xiàn)了問題:descriptor = cv2.xfeatures2d.SIFT_create() AttributeError: module 'cv2' has no attribute 'xfeatures2d'這個(gè)問題,我搜索了很久,都說是cv2的版本的問題,可是我的cv2已經(jīng)是最新版的,這里有介紹是因?yàn)閷@膯栴},cv2.cv2.FeatureDetector_create()方法已經(jīng)被移除了,所以我需要使用opencv_contrib,因此我重新install了opencv_python?3.4.0+contrib?cp36?cp36m?win_amd64.whl,最終解決了問題。