Python 安装和使用 OpenCV FAQ

如何安装 python, pip,opencv,jupyter 流程:

照 tinymind 资料中的 windows 或者 linux 安装环节进行安装:

推荐系统 :windows 10

推荐版本 :

  • Python 3.6 及以上版本
  • Anaconda python 3.7版本
  • opencv 及 opencv contrib 版本推荐: 3.4.1.15 3.4.2.26 如果没有安装3.4.x 版本。主要是 某版本以后就有专利问题,不能使用 sift surf orb等算子

建议:

安装完成 anaconda 后 command 能够使用 pip 了以后,不要使用 anaconda-Navigator 进行安装, 直接打开 cmd ,使用 pip 安装。

如果在国内请pip 换源,推荐使用清华源:

pip 模块安装:

python setup.py install
pip install opencv-python==3.4.1.15 
pip install opencv-contrib-python==3.4.1.15
pip install opencv-python==3.4.2.16
pip install opencv-contrib-python==3.4.2.16

如果没有安装 Anaconda 直接安装的python ,然后安装pip的朋友,可以直接使用pip 安装以下列表中的包:

numpy
gradio
tqdm
pandas
matplotlib
scipy
seaborn
sklearn
pillow
pydot
opencv-python==3.4.2.16
opencv-contrib-python==3.4.2.16
jupyter
notebook
imutils
sacred
pymongo
graphviz
pydot
#tensorflow-gpu==2.0.0b1
#tensorflow-gpu==2.0.0-beta1
#tensorflow 安装可以根据自己电脑来进行安装
#tensorflow-gpu
#tf-nightly-gpu
jupyter-tensorboard
flask
gevent
requests
tensorflow_datasets

或者把它做成一个txt 文件如 req.txt,使用命令行 pip install -r req.txt 进行安装

1. pip 和conda 如何进行换源

pip国内的一些镜像

  • 阿里云 http://mirrors.aliyun.com/pypi/simple/
  • 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  • 豆瓣(douban) http://pypi.douban.com/simple/
  • 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
  • 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

建议使用清华源

可以在使用pip的时候在后面上-i数,指定pip源
eg: pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

永久修改:
linux:
修改 ~/.pip/pip.conf (没有就创建一个), 内容如下:

[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

windows:
直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,在pip 目录下新建文件pip.ini,内容如下

或者按照网友的建议:win+R 打开用户目录%HOMEPATH%,在此目录下创建 pip 文件夹,在 pip 目录下创建 pip.ini 文件, 内容如下

[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

conda 进行换源:

2. Juypter notebook 如何配置默认路径

保证 jupyter notebook 能够打开

打开cmd,在 cmd中输入 jupyter notebook --generate-config

opencv和python兼容 python和opencv哪个版本匹配_python

找到 生成的config 文件,如图所示一般在C:\Users\用户名\.jupyter


opencv和python兼容 python和opencv哪个版本匹配_文件路径_02

打开此文件找到

## The directory to use for notebooks and kernels.
#c.NotebookApp.notebook_dir = ''

将其改为

## The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = 'E:\Jupyter'

其中E:\Jupyter为我的工作空间,你可以改成你自己的,

注意:

  1. #c.NotebookApp.notebook_dir = ''中的#必须删除,且前面不能留空格。
  2. E:\Jupyter,Jupyter文件夹必须提前新建,如果没有新建,Jupyter Notebook会找不到这个文件,会产生闪退现象。

3. 找不到指定模块 DLL

问题描述:根据下图,已经安装了opencv contrib 的包以及 opencv 的包,但是显示,cv2 找不到指定的dll 文件

opencv和python兼容 python和opencv哪个版本匹配_opencv和python兼容_03

opencv和python兼容 python和opencv哪个版本匹配_tensorflow_04

问题分析: 版本不匹配的原因


4. python 交互式中的 invalid syntax

opencv和python兼容 python和opencv哪个版本匹配_python_05

问题分析:

  1. 在python 交互式页面中输入了pip 指令,而没有在 cmd方式下
  2. 指令中多了 < 和 > 号

5. 安装出现的网络问题 (pip, anaconda) 等:

以下图片中均为网络问题:

opencv和python兼容 python和opencv哪个版本匹配_tensorflow_06

opencv和python兼容 python和opencv哪个版本匹配_文件路径_07

opencv和python兼容 python和opencv哪个版本匹配_文件路径_08

如果出现 Read timed out.

HTTPSConnectionPool 等字样,都是网络问题。

解决方案:

  1. 上网,使用FQ 工具
  2. pip 进行换源,如果使用 conda 安装,conda 进行换源

6. imread, imshow 问题

opencv和python兼容 python和opencv哪个版本匹配_tensorflow_09

问题分析: 这种问题表明了 img 图像的宽高都没有通过assert,可能图像不存在导致的。

解决问题方法:

img 进行了imread 以后 可以进行 print(),如果为none,可能文件路径存在错误。

文件路径可以使用绝对路径和相对路径:

文件路径中绝对不要有中文和一些特殊字符,尽量都采用英文

python 中的文件路径请使用 r"xxxx" 为不移的字符串格式。这样避免了"\t","\b" 等转义字符


7. windows python环境 与 python 解释器中的环境不一致

问题: 在windows 中安装了opencv ,tensorflow-gpu 等环境,但是设置好anaconda 拦截器的pycharm中却无法显示?

分析: 可能系统中存在多个python 环境。 比如自己曾经单独安装过python,然后又安装了anaconda 以后,anaconda又自带一个python 环境等。 anaconda 安装后自己又使用python 创建了很多虚拟环境。这样python 环境多如牛毛,但是 cmd 中只是使用了配置在系统环境变量中的

解决方法:

方法: 查看系统环境变量中的python 是否与pycharm 配置的拦截器 python 一致。

  • 查看系统环境变量中设置的python,这里我设置的是 Anaconda下的Python 环境,直接进入anaconda下就可以找到python.exe
  • 进入python 交互式环境,输入语句
import sys
sys.path

就可以看解释器地址

可以看到 是在anaconda 下的地址

opencv和python兼容 python和opencv哪个版本匹配_python_10

如果想看具体包是否进行安装可以进入anaconda 文件夹下面查看,路径如下:

xxx\Anaconda文件夹名\Lib\site-packages

如果安装了虚拟环境的话可以在 envs 文件夹下面的自己设置的虚拟环境名文件夹下面查看,路径如下:

xx\Anaconda文件夹名\envs\虚拟环境文件名\Lib\site-packages

x

opencv和python兼容 python和opencv哪个版本匹配_文件路径_11

pycharm 解释器配置方式:

8. jupyter 相关资料(扩展包,快捷键,图片粘贴等)

jupyter 常用快捷键:

juypter 快速入门:

https://codingpy.com/article/getting-started-with-jupyter-notebook-part-1

https://codingpy.com/article/getting-started-with-jupyter-notebook-part-2/

jupyter 一些使用方法(包括添目录,扩展包):

jupyter 关联图片相关方法:

还有一种直接把图入到notebook 中的方法(如果图多不推荐,容易使notebook 很大,推荐使用网络地址进行图片加载):

opencv和python兼容 python和opencv哪个版本匹配_opencv和python兼容_12

9. pip 安装出错后得到的损坏包如何删除

opencv和python兼容 python和opencv哪个版本匹配_python_13

问题描述:可以发现 -pencv-python 是损坏包,pip uninstall 无法删除


10. pycharm 如何通过页面安装插件包

按照以下步骤进行:

File > Settings 进入配置

opencv和python兼容 python和opencv哪个版本匹配_python_14

Project Interpreter > 右上的 +

opencv和python兼容 python和opencv哪个版本匹配_opencv和python兼容_15

如下图:

opencv和python兼容 python和opencv哪个版本匹配_opencv和python兼容_16

11. 请不要以关键字命名 文件

cv2.py 如果取了这个关键字命名的,请重新修改,否则会出现以下情况