OpenCV开发(1)——OpenCV3.4+Python3.5+Windows10安装问题解决,,OpenCV近几年功


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.whlopencv_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安装问题解决

评论关闭