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官网下载,但此种下载方式对网速要求很高,下载速度如龟速一般,如果你的网速状态欠佳,小编不推荐此种下载方式。小编记得当初自己是在清华大学镜像开源软件网站上下载的,推荐去清华开源软件网站下载,注意选择合适的版本下载。小编目前使用的的是以下版本,大家可以结合自身需求下载对应的版本即可。

1.1.1 安装Anaconda

双击下载好的Anaconda文件。

双击运行后,出现以下欢迎界面,直接点击“Next”。

点击“Next”后,出现以下许可协议界面,点击“I Agree”。

点击“I Agree”后,出现以下安装类型界面,默认Just Me(recommended)这一项,然后点击“Next”。

点击“Next”后,出现以下安装位置选择界面,在安装路径位置新建一个文件夹,小编新建的Anaconda3文件夹

确定好安装路径后,点击“Next”,出现以下选项界面,点击“install”选择默认安装即可,后面再添加路径。

安装完成后,出现以下界面。

1.1.2 给Anaconda3添加环境路径配置

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

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

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


在Windows 10 下用Win + R 调出运行,输入cmd,启动命令提示符

输入python,显示以下信息,说明是配置成功了,下面出现的Warning警告暂且不用管,不影响后续的使用,在">>>"的命令提示符的地方输入exit()就可以退出来。

至此,Anaconda3安装结束了。

1.2 下载Pycharm

Pycharm在jetbrains官网上下载,可以下载Community版,如果有账号的话可以下载Professional版,没有账号可以申请或者使用破解版,能不使用破解版最好,支持正版开发。小编目前使用的的是以下版本,大家可以结合自身需求下载对应的版本即可。

1.2.1 安装Pycharm

双击下载好的pycharm执行文件

出现以下界面

点击“Next”,选择安装位置,由于小编已经安装过,pycharm的安装过程比较简单,下面的过程图作为参考,安装过程都是一样的。

安装选择。

然后就直接直接安装就好了。

安装结束之后,直接启动。

1.2.2 配置Pycharm环境

不导入原来的配置环境

同意协议

数据分享可以选择不同意。

选择界面主题

加载某些插件

新建项目界面

选择项目所在位置

接下来配置编译环境比较重要,我们配置Anaconda作为Pycharm的编译环境,给编译环境中添加解释器有多种选择方式,小编推荐以下两种方式:

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

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


添加完解释器后,点击“ok”
方式一:

方式二:

导入成功之后界面如下,有些包是小编后期根据需要添加的

在编辑界面添加编译器,步骤如下:

点击右上方的"add configuration" -> " +" -> “python” ,有时候你点"add configuration"它会没反应,可能是pycharm在更新,等一会儿就好了。

选择你要编译的文件

这时你会发现右上角原来灰色的图标会得有颜色了,说明全部配置好了。

至此,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,进入命令窗口

注意是在base主环境下(如果在你今后的学习过程中,创建有其他虚拟环境,那么在你创建的虚拟环境中需要安装相关库,仅需激活你创建的虚拟环境,库安装过程同主环境一致)。

在这里要强调一点,一般我们会采用pip工具在线下载安装包的方法,如果你的电脑下载得有其他的Python软件编译器,比如IDLE编译器,那么你的pip工具所在路径有多个,使用用错误的话,你所安装的包有可能不在你正在使用的环境里面,要想解决此问题,你应该在使用pip工具之前首先使用以下命令查看自己电脑上的pip工具在哪些位置。

where pip

小编的电脑里面还装有一个IDLE编译器,所以有两个pip.exe路径,真正属于pycharm编译器环境的是第一个路径

默认情况下的pip在线下载安装包会安装到第一个所在路径的环境下(路径位置从上至下优先选择),对初学者而言,避免产生安装位置错误,不妨回到自己正在使用的环境路径中进行安装,采用如下命令:

cd/d + 自己pip所在路径


接下来就可以安装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包已经安装过,为了给大家演示清楚,我把包给卸载了重新装了一遍,进一步说明了此种在线安装与卸载方式的方便快捷性

可顺带着把opencv-python==3.4.2.16一并给安装了

安装完成后,可进行导入opencv库测试是否安装成功,同样打开Anaconda Prompt或者按Win+R 输入cmd进入命令提示符窗口,输入“python”回车,测试一下,输入import cv2回车,不报错就说明安装配置成功了

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

第二种在线安装方式是在pycharm当前使用环境中进行安装,除了不用考虑pip工具所在路径外,其他操作类似第一种在线安装方式

此种安装方式不用管pip工具所在路径,编辑器默认使用Anaconda中的pip工具,只不过对网速要求较高,对Pycharm编译器使用熟悉后,网速较好的情况下,可以临时使用此种方法,在编写程序过程中临时缺少某个包可以采用此种方式,比较方便。

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

opencv下载地址,进入网页后找到opencv包所在位置,如下图所示。

本次配置运行环境为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


在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


然后执行安装文件命令。

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


测试一下,输python进入python,输入import cv2回车,不报错就说明安装配置成功了

安装完成之后,重新打开一个命令提示符窗口,输入conda list,可以查看是否已经正确安装了,因为遇到过安装完之后,import cv2,操作也正常,但是在conda list没有显示,错误就在上面msgpack这部分没有安装。


至此,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()

显示结果如下图所示,此显示窗口大小是默认固定的,下面会讨论。

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


小编已经安装过,显示要求已经满足,没有安装过的初学者,通过此方式一般可以安装成功。

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()

显示的效果图如下图所示:

如果显示的效果图不能够弹出来一个窗口,解决办法如下

注意:OpenCV加载的彩色图像处于BGR模式。但是Matplotlib以RGB模式显示。因此,如果使用OpenCV读取彩色图像,则Matplotlib中将无法正确显示彩色图像。

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

4. 结语

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

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

  1. python3程序下载安装_Python3 环境搭建

    Python3 环境搭建 本章节我们将向大家介绍如何在本地搭建 Python3 开发环境. Python3 可应用于多平台包括 Windows.Linux 和 Mac OS X.Unix (Solar ...

  2. 超详细的Python安装和环境搭建教程(2022)

    第一次接触Python,可能是爬虫或者是信息AI开发的小朋友,都说Python 语言简单,那么多学一些总是有好处的,下面从一个完全不懂的Python 的小白来安装Python 等一系列工作的记录,并且 ...

  3. AndroidStudio(1 下载安装,环境搭建,使用设置)

    1.下载AndroidStudio(需要梯子) http://developer.android.com/sdk/index.html 但不知道怎么分32/64位系统 2.配置java1.7以上系统 ...

  4. 包无法安装_R语言基础教程——第2章:R下载安装和环境搭建

    R语言安装包下载 官网下载R安装包 下载地址为:https://cran.r-project.org 进入链接,如下图所示,在页面顶部提供了三个下载链接,分别对应三种操作系统:Windows.Mac和 ...

  5. Node.js下载安装及环境配置教程【超详细】

    一.进入官网地址下载安装包 https://nodejs.org/zh-cn/download/ 选择对应你系统的Node.js版本,这里我选择的是Windows系统.64位 PS:如果想下载指定版本 ...

  6. keil5软件安装开发环境搭建教程(mdk,c51通用)

    这是我在csdn上写的第一篇文章,心情激动兴奋.因为之前都是看别人写的博客,从来没想过自己去写一篇,在学长的鼓励下,尝试完成人生第一篇博客.仍有不足,希望大佬多多指正! 写这篇的目的是因为keil5的 ...

  7. 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装爬虫框架Scrapy(离线方式和在线方式)(图文详解)...

    不多说,直接上干货! 参考博客 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装OpenCV(离线方式和在线方式)(图文详解) 第一步:首先,提示升级下pip 第二步 ...

  8. 2021最新版本Python的下载安装及使用入门教程

    1.进入官网下载: https://www.python.org/downloads/ 进入后,如下图所示操作,点击Downloads,我的电脑是Windows系统的,这里直接点击下载最新版本. 如果 ...

  9. mysql 5.720安装_MySQL 5.7.27下载安装配置的详细教程

    前言 在安装MySQL的时候会遇到很多问题,博客上有很多解决问题的办法,在这里我附上一些链接,遇到问题的朋友们可以阅读参考哈~本文主要针对于刚接触数据库的小白,来安装MySQL数据库.目前官网上的My ...

最新文章

  1. Oracle报错createPool,Jmeter中连接Oracle报错Cannot create PoolableConnectionFactory
  2. 2015百度之星 列变位法解密
  3. 突然讨厌做前端,讨厌代码_不要讨厌HATEOAS
  4. SD-WAN技术的详细解析
  5. python自带的解释器和编辑器叫什么_(四)python自带解释器(LDIE)的使用
  6. wps2019将表格数据转换成工资条的操作方法
  7. CORDIC实现FPGA复数求模(Xilinx CORDIC IP 6.0)
  8. 2023华南农业大学计算机考研信息汇总
  9. 5 款常用的 C++ 在线编译器推荐
  10. 浅谈MES系统追溯功能五大关键作用
  11. vscode/typora+picGo-core(命令行CLI)/picGo(GUI)+图片上传(github/smms)/批量上传/typora语法扩展渲染功能设置/修改本地图片存放位置配置
  12. unity:瞄准镜制作
  13. 页面插件集成:博客详情页
  14. [Golang] json.Marshal问题总结
  15. 2020年全国计算机二级考试大纲改变,2020年3月计算机二级考试大纲内容
  16. 计算机怎么设置搜索桌面,桌面百度:电脑上的直接搜索框,想搜就搜
  17. 8051单片机基础1:8051的起源
  18. 弘辽科技:如何拉免费流量的几个小妙招 。
  19. Python-自动化测试之接口基础
  20. 没NFC功能的手机如何能刷公交卡

热门文章

  1. windows安装Twisted失败
  2. 【愚公系列】2021年11月 攻防世界-进阶题-MISC-038(打野)
  3. 谈谈敏捷开发概念和迭代开发方案
  4. 代码示例:Java中定义数组的三种方式
  5. 使用Java定义数组
  6. 你迷茫的原因在于读书太少而想的太多!!!
  7. java 使用Html2Image将html转图片
  8. java流程图什么代表活动_举例分析流程图和活动图的区别与联系
  9. 将一个实体类赋值给另一个实体类
  10. 阿里云和腾讯云,最终谁会成为中国的AWS?