OpenCV入门(一)Python环境的建立

由于有点Python基础,而且Python是比较好入门的编程言语,所以,机器视觉后边打算在Python这个渠道下进行。

Windows渠道OpenCV的Python开发环境建立

1、Python 的下载与装置

Python是一种面向对象的解释型计算机程序设计言语,是朴实的自由软件,遵从GPL(General Public License)协议。Python语法简洁清晰,特征之一是强制用空白符(white space)作为句子缩进,着重“段落”形式,第一个公开版发行于1991年。

Python的万能之处在于能够把用其他言语制造的各种模块(尤其是C/C++制造的模块)很轻松地联结在一起,也常被称为“胶水言语”。常见的一种应用景象是运用Python快速生成程序的原型(有时乃至是程序的终究界面),然后对其间有特别要求的部分用更合适的言语改写,比方用C/C++重写,而后封装为Python能够调用的扩展类库。

人工智能技术的火热使得Python的支撑库越来越丰厚、强大。需求留意的是,在运用扩展类库时或许需求考虑渠道问题,某些类库或许不供给跨渠道的实现。下面简略介绍Python的下载和装置。

去Python官网下载Python www.python.org/

OpenCV入门(一)Python环境的搭建
截止现在,Python现已更新到了3.11版别了。 Windows下找到64位的,这个根据自己的电脑装备而定。
OpenCV入门(一)Python环境的搭建

以我下载的64位装置文件为例,把文件下载下来后双击文件名运转装置文件,翻开装置界面,如图2-2所示。留意,勾选上最终一项Add Python 3.11 to PATH,能够把Python装置目录参加PATH环境变量中,再单击Install Now继续装置。

OpenCV入门(一)Python环境的搭建

Python自身巨细很小,所以我直接安在了C盘,挑选默许的途径即可。

OpenCV入门(一)Python环境的搭建
学过Python的人都知道,在cmd指令下>>>下直接输入代码后按回车键就能够马上得到代码履行成果。试着输入“100+200”,再打印一下“hello,world”,如图所示:

OpenCV入门(一)Python环境的搭建

最终,用exit()退出Python提示符。

2、在线装置OpenCV-python

Python装置完成后,咱们能够继续建立OpenCV开发环境。所谓在线装置,意思是装置过程中要连着外网(Internet),边下载边装置。

要用Python开发OpenCV程序,首要要为Python装置装备OpenCV开发包。装置Python相关功用包需求用到pip,它是一个通用的Python包管理东西,供给了对Python包的查找、下载、装置、卸载的功用。假如装置了Python 3.x,就会默许装置pip东西,其方位在Python的装置途径下。比方,我的Python包管理东西pip.exe的途径坐落C:\Users\mjl\AppData\Local\Programs\Python\Python311\Scripts

这个途径是64位体系的,读者能够查找一下自己计算机pip.exe的途径。翻开指令行窗口,输入“pip”,假如呈现许多选项,就阐明pip作业正常了,如图所示。

OpenCV入门(一)Python环境的搭建
下面运用pip来装置OpenCV开发环境。装置OpenCV开发环境只需求下载NumPy、Matplotlib、opencv-python三个包。 其间,NumPy包是Python言语的一个扩展程序库,支撑很多的维度数组与矩阵运算,此外也针对数组运算供给很多的数学函数库。Matplotlib包是Python中相似MATLAB的绘图东西,由于图像处理中有许多直方图计算之类的操作,所以挑选了Matplotlib这个Python的第三方包。 装置NumPy和Matplotlib库,输入如下指令:

pip install numpy matplotlib

OpenCV入门(一)Python环境的搭建
由于网络问题,这一步需求花点时刻。

最终咱们能够开端装置opencv-python了,输入如下指令:

pip install opencv-python

OpenCV入门(一)Python环境的搭建
稍等片刻,opencv-python装置完成了,而且主动装置了当时比较老练的最新版别,这儿是4.。7.0.72。值得留意的是,不同时刻段下载速度差异较大,强烈主张咱们早上下载装置。至此,根据Python的OpenCV开发环境建立起来了,下面开端咱们的第一个Python开发的OpenCV程序。能够运用记事本l来编辑这个程序。

OpenCV入门(一)Python环境的搭建
OpenCV入门(一)Python环境的搭建

保存成.py格式,双击运转即可。

首要运用import句子导入模块cv2(OpenCV是由许多个模块组成的,cv2是OpenCV中的一个基本模块)。运用as语法之后,只能通过as后边的名字来访问导入的模块,因而后边代码要用cv来代表cv2。 模块导入后,就能够运用cv2里的函数了。咱们先运用函数cv.imread读取一个文件yd.jpg,该文件坐落工程目录下(就是说和.py在同一目录下),cv.imread也能够传入一个绝对途径,比方d:\yd.jpg。

接着用函数imshow把图片显现在窗口中。函数waitKey用于等候用户按键,假如用户不按键,则图片窗口会一向显现,也就是函数waitKey一向处于阻塞状态不返回,直到用户按键才返回。waitKey完毕后调用函数destroyAllWindows销毁所有窗口,这儿就一个窗口,就是咱们用namedWindow函数创立的窗口。

OpenCV入门(一)Python环境的搭建
成果如图所示。运转成功,阐明咱们的opencv-python开发环境建立成功了。

Windows渠道PyCharm 下载与装置

和其他言语相似,Python程序的编写能够运用Windows自带的控制台进行,但是这种方法关于较为杂乱的程序工程来说,容易混淆相互之间的层级和交互文件,因而在编写程序工程时主张运用专用的Python编译器PyCharm。

1、PyCharm的下载和装置

进入PyCharm官网的Download页面后能够挑选不同的版别,如图所示,包括收费的专业版和免费的社区版。这儿直接挑选免费版别。 www.jetbrains.com/pycharm/

OpenCV入门(一)Python环境的搭建

(2)文件下载下来后能够看到文件名为pycharm-community-2022。3.2.exe,双击运转进入装置界面,如图所示。挑选好装置途径,直接单击Next按钮,装置即可。

或许按照下图指示装置。

OpenCV入门(一)Python环境的搭建

OpenCV入门(一)Python环境的搭建
装置完成后呈现Finish按钮,单击该按钮装置完成,并重新启动计算机,如图2-15所示。

OpenCV入门(一)Python环境的搭建

2.装备PyCharm开发OpenCV程序

单击桌面上新生成的图标进入PyCharm程序界面,首要是第一次启动的定位,如图所示。 创立一个新的工程,如图所示

OpenCV入门(一)Python环境的搭建
进入界面装备选项,如图所示:

OpenCV入门(一)Python环境的搭建

OpenCV入门(一)Python环境的搭建
之后右击新建的工程名PyCharm,挑选New→Python File指令新建一个helloworld.py文件,内容如图所示。

OpenCV入门(一)Python环境的搭建

输入代码并单击菜单栏中的Run→run…运转代码,或许直接右击helloworld.py文件名,在弹出的方便菜单中挑选run指令。假如成功输出hello world,就表示PyCharm装置好了。

OpenCV入门(一)Python环境的搭建
OpenCV入门(一)Python环境的搭建
创立一个新项目后,在项目下履行OpenCV代码会有问题,提示CV2库找不到了。
OpenCV入门(一)Python环境的搭建
此时需求对Python Interpreter做重新设置。

单击File→Setting,翻开Setting窗口,如图所示,

OpenCV入门(一)Python环境的搭建

单击左边的Project:pythonProject→Python Interpreter菜单项,此时翻开如图所示的Add Python Interpreter新窗口,选中Existing environment单选按钮,单击Interpreter项最右边的[插图]按钮,翻开Select Python Interpreter窗口,按目录层次逐层查找Python开发包中的python.exe文件,找到后单击OK按钮,如图所示。

OpenCV入门(一)Python环境的搭建

OpenCV入门(一)Python环境的搭建

逐个窗口单击OK按钮,回到图所示的Setting窗口,在Python Interpreter中挑选Python开发包中的python.exe文件作为解释器。此时,窗口上显现开发OpenCV程序所需求的开发包,如图2-24所示。单击OK按钮封闭装备窗口。

从图中能够看到,上面装备的Matplotlib、NumPy、opencv-python等开发包现已导入项目中,接下来就能够进行OpenCV编程了。

OpenCV入门(一)Python环境的搭建
将相片放到工程目录下,用上面的代码:
OpenCV入门(一)Python环境的搭建

OpenCV入门(一)Python环境的搭建

编译完成!!

3.调试Python程序

导入案例代码:D:\mjl\Opencv4.5材料\图书材料\源码\0cd25082-1cfc-11ed-94cb-00163e36b535\OpenCV 4.5计算机视觉开发实战源码-ch02-ch14\OpenCV 4.5计算机视觉开发实战源码

和开发其他程序一样,Python程序有时候也需求调试,比方设置断点、运转到断点处、单步履行、监督某个变量等。

在PyCharm中单步调试Python程序十分简略,只需求设置好断点,单击鼠标所在的行,

然后按Shift+F9方便键开端调试运转,接着就会履行到断点处,然后按Shift+F8方便键开端单步履行(Shift+F7方便键也能够单步履行,而且遇到函数还能进入函数里面履行),如图所示。

OpenCV入门(一)Python环境的搭建

在窗口下方的Debug视图中,咱们直接能够看到a这个变量的相关信息。通常,设置断点、单步履行、监督变量这三大手法用于调试基本够用了。

4.测验一下NumPy的数学函数

咱们测验一下NumPy中的数学函数,看它是否能作业正常。

NumPy支撑很多的维度数组与矩阵运算,并针对数组运算供给了很多的数学函数库,常用的数学函数如下:

round(a, decimals=0, out=None):将小数a四舍五入到给定的小数位数。 floor(a):取比小数a小的最大的整数,即向下取整。 ceil(a):取比小数a大的最小的整数,即向上取整。其间,a能够是一个数字,也能够是一个数组.

import cv2 as cv  #导入cv模块
import numpy as np
a = np.array([1.0,5.55,  123,  0.567,  25.532]) 
print("np.round(2.6) : " , np.round(2.4))
print("np.round(a,1):",np.round(a,1))
print("np.round(2.8) : " , np.round(2.8))
print("cvFloor(2.5) : " , np.floor(2.5)) 
print("cvFloor(2.6) : " , np.floor(2.6)) 
print("cvCeil(2.5)  : " , np.ceil(2.5))
print("cvCeil(2.6)  : " , np.ceil(2.6)) 

在上述代码中,咱们分别试验了round、floor和ceil的简略运用。

OpenCV入门(一)Python环境的搭建