python装opencv: import cv2后 DLL load failed


----------2018.3.22更新---------------------------------------------------------------------------------------------------

装了新版anaconda 和opencv_python-4.0.0.21-cp37-cp37m-win_amd64.whl 没有这个问题了。

conda info 相关信息如下:

platform : win-64
user-agent : conda/4.5.11 requests/2.19.1 CPython/3.7.0 Windows/10 Windows/10.0.15063

---------------------------------------------------------------------------------------------------------------------------------

调用摄像头,流行的python3的包是opencv。

python2 可以用VideoCapture,结合pygame。但VideoCapture貌似不支持python3。

首先是找合适的安装包,清华镜像站上的包大小只是kB级的,明显不全,是个残品。中科大的镜像站上有https://mirrors.ustc.edu.cn/ 。但最新版也是残品,要装老一点的版本,看着包的大小是MB级的就对了。

装好后,各种dll load failed。在网上找了各种方法都不行。装必要的VC++库,设备电脑环境变量都没用。

后来自己还发明了一种奇葩的方法,就是运行D:\anaconda3\pkgs\opencv-3.3.1-py36\Library\bin下的exe文件,看有什么反应,提示我找不到tiff.dll。于是,在网上各种找这个tiff.dll文件,找不到。后来找到了一个tiff32.dll的文件。于是拿这个来试试。恩有点就

原来的错误提示是:

ImportError Traceback (most recent call last) in () ----> 1 import cv2

ImportError: DLL load failed: The specified module could not be found.

新的错误提示是:

ImportError Traceback (most recent call last) in () ----> 1 import cv2

ImportError: DLL load failed: %1 is not a valid Win32 application.

以至于,我误以为如果找到了正确的tiff.dll就能解决问题。于是找啊找。找不到。

然后决定重新百度一下找找解决方法,有一哥们说,在D:\anaconda3\Lib\下新建一个cv2的文件夹,把D:\anaconda3\pkgs\opencv-3.3.1-py36\Library\bin下的dll全复制过去。一试果然可行。

这里是原文: https://blog.csdn.net/Fang_good/article/details/78139601