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函数查看工具,安装后可以查看。

windows python安装opencv_OpenCV开发(1)——OpenCV3.4+Python3.5+Windows10安装问题解决相关推荐

  1. 安装python的twisted出错_pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)

    pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误) 当我们在安装scrapy的过程中出现了Twisted错误,当我们有继续安装Twisted的时候,又继续报错,通过一 ...

  2. python3.7怎么安装tensorflow_gpu_(更新版)python3.7 Windows10 tensorflow-GPU 安装

    (1)python3.7须安装64位的 (2)安装anaconda (3)修改路径(可忽略): cmd jupyter notebook --generate-config 回车之后产生jupyter ...

  3. python详细安装教程3.7.4-Linux下Python3.7.4 安装教程

    说明: 本文简单的介绍了Python3.7.4 的安装方法,之所以安装Python 3.7 是为安装Airflow 做铺垫,但不要删除 Python 2.7 等版本,应为系统及其他组件有所依赖. 步骤 ...

  4. python3.6安装tkinter_在Ubuntu上的python3.6中安装tkinter

    我遇到了一个与你类似的问题,我将详细说明我是如何解决的. 在Ubuntu16.04LTS上,我有Python3.5.2和Python2.7.12,但是我想尝试Python3.6(例如,出于各种原因,比 ...

  5. 主题302:安装和开发

    在你开始前 了解这些教程可以教给您什么以及如何从中获得最大收益. 关于本系列 Linux Professional Institute (LPI)在三个级别上对Linux系统管理员进行认证: 初级 ( ...

  6. Flutter教程之Windows桌面应用程序开发

    Flutter教程之Windows桌面应用程序开发 一.前言 二.环境安装 三.创建项目 四.已有项目添加其他平台支持 一.前言 Flutter 是 Google 开源的 UI 工具包,帮助开发者通过 ...

  7. Centos 7 安装NodeJS开发环境

    [连接 WIFI] 1.查看 wifi 设备标识 $ iw dev | grep Interface 2.启用 wifi $ ip link set wlp2s0 up 3.输入wifi 认证 wpa ...

  8. Linux 下离线手动下载安装 C++ 开发环境

    1.前言 本人使用的操作系统是 Fedora 24. 1.1 在线安装软件的方法 Linux 下我们习惯了使用软件包管理器来安装我们需要的软件,比如 Red Hat 公司的 Fedora.RHEL(R ...

  9. Deepin Linux v20+安装.NET开发环境的方法

    在Deepin 20+上安装.NET开发环境基本可以参照Debian的安装方式,无非就是.NET Core和Mono,具体方法如下: 使用 APT 进行安装可通过几个命令来完成. 安装 .NET 之前 ...

最新文章

  1. iOS开源项目周报0420
  2. mysql选择table_mysql – 选择distinct table4_id,table3_id和table2_...
  3. oracle中导入导出数据备份数据库
  4. java中实现接口采用的关键字是_一个Java类实现一个接口使用的是implements关键字。...
  5. 实现一个压缩Remoting传输数据的Sink:CompressionSink (转载)
  6. ggplot2横坐标标签旋转
  7. 【华为云技术分享】万万没想到,我在夜市地摊解决了MySQL临时表空间难题~~
  8. Yii2 behaviors中verbs access的一些理解
  9. java struts2 上传图片_Java框架Struts2实现图片上传功能
  10. anaconda必须安装在c盘吗_Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细)...
  11. powerquery分组_Power Query 基本功能使用
  12. Rust: (作者 洛佳) 使用Rust编写操作系统(附录一):链接器参数
  13. 【语音去噪】基于matlab谱减法去噪【含Matlab源码 429期】
  14. Matlab中的fspecial函数
  15. python颜色识别_python实现简单颜色识别程序
  16. 室内定位——卡尔曼滤波原理、Matlab与javascript实现
  17. 电商分析公式和指标整理
  18. OSChina 教师节乱弹 ——辛苦你了,金将军
  19. 重新设计TCP/IP协议栈以支持设备移动性
  20. 【运筹优化】调用Gurobi求解LP问题(Java代码示例)

热门文章

  1. 在用 Eclipse 搭建 SAP Commerce Cloud 调试环境时,错误和正确的 buildfile
  2. SAP 电商云 Spartacus UI 如何在应用程序里捕捉到成功下单的事件
  3. SAP BTP 上使用 Mobile Back-End Tools(MBT)进行全栈开发的方法概述
  4. SAP Spartacus HTTP请求的错误处理机制
  5. 在SAP Spartacus产品明细页面用outlet显示自定义数据
  6. 如何自行分析SAP WebClient UI开发环境里抛出的错误消息根源
  7. ABAP应用服务器的HTTP响应状态码(Status Code)
  8. SAP CDS view里如何定义association
  9. SAP工程师对Spark的尝试
  10. What happens when passing an non-exist text object to API