非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程

Opencv基于Python图像处理环境搭建

  • 目标
  • 前言
  • 1. 下载Anaconda和Pycharm
    • 1.1 下载Anaconda
      • 1.1.1 安装Anaconda
      • 1.1.2 给Anaconda3添加环境路径配置
    • 1.2 下载Pycharm
      • 1.2.1 安装Pycharm
      • 1.2.2 配置Pycharm环境
  • 2. 安装OpenCV包
    • 2.1 在线下载安装
      • 2.1.1 在Anaconda Prompt或CMD中在线安装
      • 2.1.2 在Pycharm当前使用环境中在线安装
    • 2.2 下载对应安装包文件离线安装
  • 3. 图像处理入门——读取、显示、写入操作
    • 3.1 使用OpenCV
      • 3.1.1 读取图像
      • 3.1.2 显示图像
      • 3.1.3 写入图像
      • 3.1.4 总结
    • 3.2 使用Matplotlib
  • 4. 结语

目标

对于刚接触机器视觉、图像处理领域的初学者,如果使用python语言调用OpenCV开源视觉库进行图像处理操作,那么第一步就需要成功搭建一个Opencv基于Python的图像处理环境,通过本篇文章,您可以学到以下内容:

  • 成功搭建Anaconda3+Pycharm2020+OpenCV环境——触类旁通
  • Python包的安装——举一反三
  • 图像处理入门——读取、显示、写入操作

前言

小编也是机器视觉、图像处理方向的一名学习者,为了能跟大家一起学习交流,共同进步,2020.12.3开始在CSDN上写博文,前期主要更新的是有关OpenCV基于Python图像处理算法的文章,每周尽量做到有内容更新(包含但不仅限于图像处理邻域),一是可以做到复习巩固,二是可以给初学者提供学习参考与交流,小编更新的每篇博文里面的代码都是能跑得通的,但有些小伙伴由于opencv的环境没有搭建好,运行图像处理算法专栏文章的代码不能得到自己想要的结果,为此,为了能让有需求的学习者有更好的学习体验,小编觉得有必要写一篇有关Anaconda3 + Pycharm2020+ OpenCV(小编正在使用版本) 下载安装及环境搭建的文章,这样就可以和大家做到及时的沟通交流,让我们一起发现问题到解决问题,集思广益,学会分享,让学习更有效率,加油!

由于小编时间仓促,水平有限,文章难免会有错误或不妥之处,望大家及时提出批评与指正,谢谢大家!

1. 下载Anaconda和Pycharm

1.1 下载Anaconda

Anaconda有两种下载方式,一是在Anaconda官网下载,但此种下载方式对网速要求很高,下载速度如龟速一般,如果你的网速状态欠佳,小编不推荐此种下载方式。小编记得当初自己是在清华大学镜像开源软件网站上下载的,推荐去清华开源软件网站下载,注意选择合适的版本下载。小编目前使用的的是以下版本,大家可以结合自身需求下载对应的版本即可。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第1张图片

1.1.1 安装Anaconda

双击下载好的Anaconda文件。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第2张图片
双击运行后,出现以下欢迎界面,直接点击“Next”。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第3张图片
点击“Next”后,出现以下许可协议界面,点击“I Agree”。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第4张图片
点击“I Agree”后,出现以下安装类型界面,默认Just Me(recommended)这一项,然后点击“Next”。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第5张图片
点击“Next”后,出现以下安装位置选择界面,在安装路径位置新建一个文件夹,小编新建的Anaconda3文件夹
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第6张图片
确定好安装路径后,点击“Next”,出现以下选项界面,点击“install”选择默认安装即可,后面再添加路径。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第7张图片
安装完成后,出现以下界面。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第8张图片

1.1.2 给Anaconda3添加环境路径配置

上面的安装过程中,没有将Anaconda添加到系统环境变量,这有可能给后续使用带来诸多不便,现将其添加到环境变量中,步骤如下:

右键“此电脑” ->单击“属性” ->单击“高级系统设置” -> “环境变量” ->在系统变量中找到“path”,单击它,然后添加以下三条命令

E:\Anaconda3
E:\Anaconda3\Scripts
E:\Anaconda3\Library\bin

非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第9张图片
在Windows 10 下用Win + R 调出运行,输入cmd,启动命令提示符
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第10张图片
输入python,显示以下信息,说明是配置成功了,下面出现的Warning警告暂且不用管,不影响后续的使用,在">>>"的命令提示符的地方输入exit()就可以退出来。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第11张图片
至此,Anaconda3安装结束了。

1.2 下载Pycharm

Pycharm在jetbrains官网上下载,可以下载Community版,如果有账号的话可以下载Professional版,没有账号可以申请或者使用破解版,能不使用破解版最好,支持正版开发。小编目前使用的的是以下版本,大家可以结合自身需求下载对应的版本即可。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第12张图片

非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第13张图片

1.2.1 安装Pycharm

双击下载好的pycharm执行文件
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第14张图片
出现以下界面
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第15张图片
点击“Next”,选择安装位置,由于小编已经安装过,pycharm的安装过程比较简单,下面的过程图作为参考,安装过程都是一样的。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第16张图片

安装选择。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第17张图片
然后就直接直接安装就好了。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第18张图片
安装结束之后,直接启动。

1.2.2 配置Pycharm环境

不导入原来的配置环境
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第19张图片
同意协议
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第20张图片
数据分享可以选择不同意。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第21张图片
选择界面主题
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第22张图片
加载某些插件
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第23张图片
新建项目界面
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第24张图片
选择项目所在位置
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第25张图片
接下来配置编译环境比较重要,我们配置Anaconda作为Pycharm的编译环境,给编译环境中添加解释器有多种选择方式,小编推荐以下两种方式:

方式一:在“file” ->setting -> project:(你的项目名) -> project interpreter -> “add” ->Conda Environment
方式二:也可以在“file” ->setting -> project:(你的项目名) -> project interpreter -> “add” ->System Interpreter

注意: 两种添加方式任选其一即可,不论选择何种方式最好选择Anaconda自带的解释器

非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第26张图片
添加完解释器后,点击“ok”
方式一:
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第27张图片
方式二:
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第28张图片
导入成功之后界面如下,有些包是小编后期根据需要添加的
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第29张图片
在编辑界面添加编译器,步骤如下:

点击右上方的"add configuration" -> " +" -> “python” ,有时候你点"add configuration"它会没反应,可能是pycharm在更新,等一会儿就好了。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第30张图片
选择你要编译的文件
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第31张图片
这时你会发现右上角原来灰色的图标会得有颜色了,说明全部配置好了。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第32张图片
至此,Pycharm的安装及配置结束了。

2. 安装OpenCV包

opencv安装有两种方式,一是在线下载安装,二是提前下载好安装包文件离线安装。

2.1 在线下载安装

如果你的网络条件下载速度能达到1M/s以上,并且会使用小编写的简单好用的conda、pip国内镜像源这篇文章的镜像源操作,推荐采用此种安装方式,此时安装比较简便快捷,否则,请务必采取离线安装方式。在线下载安装具体有以下两种实现方式。

2.1.1 在Anaconda Prompt或CMD中在线安装

第一种在线安装方式是在Anaconda Prompt或cmd中进行安装,cmd命令窗口中安装过程与在Anaconda Prompt命令窗口中一样,这里以在Anaconda Prompt命令窗口中安装为例,具体操作如下:

点击Anaconda Prompt,进入命令窗口
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第33张图片
注意是在base主环境下(如果在你今后的学习过程中,创建有其他虚拟环境,那么在你创建的虚拟环境中需要安装相关库,仅需激活你创建的虚拟环境,库安装过程同主环境一致)。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第34张图片
在这里要强调一点,一般我们会采用pip工具在线下载安装包的方法,如果你的电脑下载得有其他的Python软件编译器,比如IDLE编译器,那么你的pip工具所在路径有多个,使用用错误的话,你所安装的包有可能不在你正在使用的环境里面,要想解决此问题,你应该在使用pip工具之前首先使用以下命令查看自己电脑上的pip工具在哪些位置。

where pip

小编的电脑里面还装有一个IDLE编译器,所以有两个pip.exe路径,真正属于pycharm编译器环境的是第一个路径
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第35张图片
默认情况下的pip在线下载安装包会安装到第一个所在路径的环境下(路径位置从上至下优先选择),对初学者而言,避免产生安装位置错误,不妨回到自己正在使用的环境路径中进行安装,采用如下命令:

cd/d + 自己pip所在路径

非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第36张图片
接下来就可以安装opencv包了,小编安装的是opencv 3.4.2.16版本,因为小编自己需要用到SIFT与SURF算法特征点检测,这是支持xfeatures2d.SURF_create的最高版本,后面的版本受到专利保护就不支持了。你也可以下载其他的版本,使用pip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple 命令,该命令会自动根据你的Python版本安装对应的opencv包,如果清华镜像https://pypi.tuna.tsinghua.edu.cn/simple里面没有找到匹配的安装包,可以换其他的镜像命令,如阿里云,豆瓣等,详见简单好用的conda、pip国内镜像源这篇文章。

小编的opencv包已经安装过,为了给大家演示清楚,我把包给卸载了重新装了一遍,进一步说明了此种在线安装与卸载方式的方便快捷性
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第37张图片
可顺带着把opencv-python==3.4.2.16一并给安装了
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第38张图片
安装完成后,可进行导入opencv库测试是否安装成功,同样打开Anaconda Prompt或者按Win+R 输入cmd进入命令提示符窗口,输入“python”回车,测试一下,输入import cv2回车,不报错就说明安装配置成功了
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第39张图片

2.1.2 在Pycharm当前使用环境中在线安装

第二种在线安装方式是在pycharm当前使用环境中进行安装,除了不用考虑pip工具所在路径外,其他操作类似第一种在线安装方式
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第40张图片
此种安装方式不用管pip工具所在路径,编辑器默认使用Anaconda中的pip工具,只不过对网速要求较高,对Pycharm编译器使用熟悉后,网速较好的情况下,可以临时使用此种方法,在编写程序过程中临时缺少某个包可以采用此种方式,比较方便。

2.2 下载对应安装包文件离线安装

opencv下载地址,进入网页后找到opencv包所在位置,如下图所示。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第41张图片

本次配置运行环境为win10,64位操作系统,python解释器是3.7.3版本,对应着选择opencv版本为opencv_python-4.4.0-cp37-cp37m-win_amd64.whl文件,下载好之后把文件复制到Anaconda3\Lib\site-packages文件夹下 ,这个版本是将opencv不稳定的一些功能去除,只保留稳定的部分,如果需要全部的功能,就安装带contrib这个版本的,暂且没有找到contrib版本的,但没有关系,我们下载的这个版本也是能够使用的。

根据自己安装的Python版本,Python3.7对应cp37,Python3.6对应cp36,有时候opencv的下载地址可能找不到自己想要的版本,这就需要通过其他方式找到对应的离线安装包,比如在GitHub或者CSDN里面搜索下载。

如果有跟小编一样想要指定版本opencv包的需求,在满足上述在线下载安装条件的前提下,可以采用第一种在线下载安装的方式,使用以下命令:

pip install + 包名==版本号 -i https://pypi.tuna.tsinghua.edu.cn/simple
如:pip install opencv-contrib-python==3.4.2.16 -i https://pypi.tuna.tsinghua.edu.cn/simple

非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第42张图片
在Anaconda Prompt或CMD命令窗口中执行安装,在安装之前,进入到Anaconda3\Lib\site-packages文件夹下,执行以下命令防止缺少对应插件而导致安装失败:

pip install msgpack-python -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install msgpack -i https://pypi.tuna.tsinghua.edu.cn/simple

非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第43张图片
然后执行安装文件命令。

pip install opencv_python-4.4.0-cp37-cp37m-win_amd64.whl

非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第44张图片
测试一下,输python进入python,输入import cv2回车,不报错就说明安装配置成功了
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第45张图片
安装完成之后,重新打开一个命令提示符窗口,输入conda list,可以查看是否已经正确安装了,因为遇到过安装完之后,import cv2,操作也正常,但是在conda list没有显示,错误就在上面msgpack这部分没有安装。
conda list
opencv-python
至此,Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建过程全部完成,接下来,如果你是初学者,可以体验下面的图像入门处理操作部分,还有小编写的Opencv基于Python图像处理算法专栏的文章,这些文章主要是根据Opencv官方文档翻译过来的中文教程内容,小编在其基础上进行了补充与改进,大家根据需要进行学习参考,还可以一起交流哦!

3. 图像处理入门——读取、显示、写入操作

在这一部分,你将利用安装好的Opencv库,学习到如何读取图像,如何显示图像以及如何将其保存回去,你还将学习以下功能:cv.imread()cv.imshow()cv.imwrite(),最后可选择性的学习如何使用Matplotlib显示图像。

3.1 使用OpenCV

3.1.1 读取图像

使用cv.imread()函数读取图像。该函数包含两个参数,第一个参数为输入原始图像,该图像应该在工作目录或指定的完整路径中存在;第二个参数是一个标志,它指定了读取图像的方式,包括但不限于以下方式:

  • cv.IMREAD_COLOR: 加载彩色图像,任何图像的透明度都会被忽视,它是默认标志。
  • cv.IMREAD_GRAYSCALE:以灰度模式加载图像。
  • cv.IMREAD_UNCHANGED:加载图像,包括alpha通道。

注意:除了这三个标志,你可以分别简单地传递对应整数1、0或-1。

读取图像参考代码:

#导入numpy库
import numpy as np
# 导入opencv库
import cv2 as cv
# 加载彩色灰度图像
img = cv.imread('lena.jpg', 0)

提示:即使图像路径错误,它也不会引发任何错误,但是 print (img)会给出 None结果。

3.1.2 显示图像

使用函数cv.imshow()在窗口中显示图像,窗口自动适应图像尺寸。该函数包含两个参数,第一个参数是窗口名称,它是一个字符串;第二个参数是我们需要显示的图像。你可以根据需要创建任意多个窗口,但可以使用不同的窗口名称。
显示图像参考代码:

# 导入numpy库
import numpy as np
# 导入opencv库
import cv2 as cv

# 加载彩色灰度图像
img = cv.imread('lena.jpg', 0)
# 显示加载的图像
cv.imshow('image', img)
# 一直等待下一次键入
cv.waitKey(0)
# 关闭所有显示窗口
cv.destroyAllWindows()

显示结果如下图所示,此显示窗口大小是默认固定的,下面会讨论。
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第46张图片
cv.waitKey()是一个键盘绑定函数,其参数是以毫秒为单位的时间,该函数等待任何键盘事件指定的毫秒。如果你在这段时间内按下任何键,程序将继续运行。如果0被传递,它将无限期地等待一次敲击键。它也可以设置为检测特定的按键,例如,如果按下键 a 等,我们将在下面讨论。

注意:
除了键盘绑定事件外,此功能还处理许多其他GUI事件,因此你必须使用它来实际显示图像。

cv.destroyAllWindows()会关闭我们创建的所有窗口。如果要销毁任何特定的窗口,请使用函数 cv.destroyWindow()在其中传递确切的窗口名称作为参数。

注意:
在特殊情况下,你可以创建一个空窗口,然后再将图像加载到该窗口。在这种情况下,你可以指定窗口是否可调整大小,这是通过功能cv.namedWindow()实现。默认情况下,该标志为cv.WINDOW_AUTOSIZE,不可调整窗口大小。但是,如果将标志指定为cv.WINDOW_NORMAL,则可以调整窗口大小。当图像尺寸过大以及向窗口添加跟踪栏时,这将很有帮助。

可调整显示窗口大小代码

# 导入numpy库
import numpy as np
# 导入opencv库
import cv2 as cv

# 加载彩色灰度图像
img = cv.imread('lena.jpg', 0)
# 可调整显示窗口大小
cv.namedWindow('image', cv.WINDOW_NORMAL)
# 显示加载的图像
cv.imshow('image', img)
# 一直等待下一次键入
cv.waitKey(0)
# 关闭所有显示窗口
cv.destroyAllWindows()

不可调整与可调整图像显示窗口大小如下图所示

3.1.3 写入图像

使用函数cv.imwrite()保存图像。该函数包含两个参数,第一个参数是带格式的文件名,第二个参数是要保存的图像。 cv.imwrite('lenagray.png',img)命令会将图像以PNG格式保存在工作目录中。

3.1.4 总结

在下面的程序中,以灰度加载图像,显示图像,按 s 保存图像并退出,或者按 ESC键直接退出而不保存。

# 导入numpy数据库,图像处理中经常会用到该库
import numpy as np
# 导入cv库
import cv2 as cv

# 读取图像
img = cv.imread('lena.jpg', 0)
# 一直等待下一次键入
k = cv.waitKey(0)
# 等待ESC退出,ESC的ASCII码是27
if k == 27:
    # 关闭所有显示窗口
    cv.destroyAllWindows()
elif k == ord('s'): # 等待关键字,保存和退出
    # 以PNG格式保存在工作目录中
    cv.imwrite('lenagray.png', img)
    # 关闭所有显示窗口
    cv.destroyAllWindows()

提示:如果使用的是64位计算机,则必须 k = cv.waitKey(0) 按如下所示修改行: k = cv.waitKey(0) & 0xFF

3.2 使用Matplotlib

Matplotlib是Python的绘图库,可为你提供多种绘图方法。你将在Opencv基于Python图像处理算法专栏的文章中频繁地看到它们。在这里,你将学习如何简单地使用Matplotlib显示图像,使用Matplotlib缩放图像,保存图像等。

在Pycharm当前使用环境中,使用如下命令安装Matplotlib库:

pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第47张图片
小编已经安装过,显示要求已经满足,没有安装过的初学者,通过此方式一般可以安装成功。

Matplotlib显示图像代码如下:

# 导入numpy数据库,图像处理中经常会用到该库
import numpy as np
# 导入cv库
import cv2 as cv
# 从Matplotlib库中导入pyplot, 命别名为plt, 方便后面该库的使用
from matplotlib import pyplot as plt

# 读取图像
img = cv.imread('lena.jpg', 0)
# 显示图像窗口,灰度形式显示,bicubic插值方式
plt.imshow(img, cmap='gray', interpolation='bicubic')
# 不显示横纵坐标
plt.xticks([]), plt.yticks([])
# Matplotlib显示图像
plt.show()

显示的效果图如下图所示:
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第48张图片
如果显示的效果图不能够弹出来一个窗口,解决办法如下
非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程_第49张图片
注意:OpenCV加载的彩色图像处于BGR模式。但是Matplotlib以RGB模式显示。因此,如果使用OpenCV读取彩色图像,则Matplotlib中将无法正确显示彩色图像。

当你尝试在OpenCV中加载彩色图像并将其显示在Matplotlib中时,存在一些问题。请查看此评论http://stackoverflow.com/a/15074748/1134940理解它们。更多Matplotlib绘图样式和功能请参考:https://matplotlib.org/api/pyplot_api.html

4. 结语

今天的文章就写到这里了,非常感谢你抽出宝贵的时间阅读小编的文章,文章中难免会有不足之处,欢迎大家讨论交流,同时也欢迎大家对小编其他文章的支持与鼓励,让我们一起加油,共同进步,祝大家身体健康,生活幸福!

你可能感兴趣的:(opencv,python,计算机视觉)