解决 import cv2 出现 ImportError:DLL load fail:找不到指定模块
相信大家很多人都会遇到import cv2找不到指定模块的这类问题,网上也有很多方法,楼主刚刚亲身经历了很多方法后,趁着热乎赶紧跑来跟大家分享一下
DLL是文件的动态链接库文件,在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
(这里就是简单的说明下dll文件是啥,解决方法看下面)
“DLL load fail”其实就是缺少文件的动态链接库,所以我们只需要将缺少的dll文件补齐就可以实现cv2的调用。
1.首先,确认你安装的python版本和opencv-python版本是对应的
下载网址:https://pypi.org/project/opencv-python/#files
我的下载版本如下图
2.将下载后的文件放到安装的路径下**\Lib\site-packages中,“shift+右击”打开命令窗口
pip install opencv_python-4.1.0.25-cp36-cp36m-win_amd64.whl
3:安装完成后,在python环境下调用cv2总是显示"ImportError:DLL load failed:找不到指定模块"
解决方法是:使用Dependency Walker软件来检查缺少的dll文件名称
下载地址:http://www.dependencywalker.com/
下载后对文件进行解压,点击解压后的exe文件,点击"File"—>"open"打开路径下的(**\Lib\site-packages\cv2)下的cv2.cp36-win_amd64.pyd,软件提示如下
去网上下载缺少的dll文件,放到***\Lib\site-packages\cv2路径下就行。
最后,成功调用cv2模块。