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
找到 生成的config 文件,如图所示一般在C:\Users\用户名\.jupyter
打开此文件找到
## 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为我的工作空间,你可以改成你自己的,
注意:
- #c.NotebookApp.notebook_dir = ''中的#必须删除,且前面不能留空格。
- E:\Jupyter,Jupyter文件夹必须提前新建,如果没有新建,Jupyter Notebook会找不到这个文件,会产生闪退现象。
3. 找不到指定模块 DLL
问题描述:根据下图,已经安装了opencv contrib 的包以及 opencv 的包,但是显示,cv2 找不到指定的dll 文件
问题分析: 版本不匹配的原因
4. python 交互式中的 invalid syntax
问题分析:
- 在python 交互式页面中输入了pip 指令,而没有在 cmd方式下
- 指令中多了 < 和 > 号
5. 安装出现的网络问题 (pip, anaconda) 等:
以下图片中均为网络问题:
如果出现 Read timed out.
HTTPSConnectionPool 等字样,都是网络问题。
解决方案:
- 上网,使用FQ 工具
- pip 进行换源,如果使用 conda 安装,conda 进行换源
6. imread, imshow 问题
问题分析: 这种问题表明了 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 下的地址
如果想看具体包是否进行安装可以进入anaconda 文件夹下面查看,路径如下:
xxx\Anaconda文件夹名\Lib\site-packages
如果安装了虚拟环境的话可以在 envs 文件夹下面的自己设置的虚拟环境名文件夹下面查看,路径如下:
xx\Anaconda文件夹名\envs\虚拟环境文件名\Lib\site-packages
x
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 很大,推荐使用网络地址进行图片加载):
9. pip 安装出错后得到的损坏包如何删除
问题描述:可以发现 -pencv-python 是损坏包,pip uninstall 无法删除
10. pycharm 如何通过页面安装插件包
按照以下步骤进行:
File > Settings 进入配置
Project Interpreter > 右上的 + 号
如下图:
11. 请不要以关键字命名 文件
cv2.py 如果取了这个关键字命名的,请重新修改,否则会出现以下情况