一、引言
OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
作为一名啥啥不会的大学牲,希望以blog的形式记录OpenCV的学习过程,也希望对各位有帮助,若内容出现错误,恳请各位大佬批评指正。本文是以初学者的视角学习记录,主要使用的语言Python。
学习过程主要参考了b站大佬Luna今天学魔法了嘛的教学视频:b站参考学习视频戳这里。
二、OpenCV库的安装
在Python中使用OpenCV需要安装相关的包:opencv-python、numpy、matplotlib。Win+R输入cmd打开命令行控制窗口。确保事先安装的python有pip功能,否则下列方法将不适用,需要手动安装或先安装pip。
在命令行依次键入下列指令,可以安装相应的库。值得一提的是,由于opencv-python库下载地址在外网,可能会出现下载速度慢、下载失败等问题,可以找找其他解决方法或使用科技。
pip install opencv-python
pip install numpy
pip install matplotlib
考虑到设备中可能不止一个python环境,在命令行依次键入上述指令,会安装到默认的python环境中,若需要在指定环境里安装,有以下方法:
1.改变默认python环境:通过调整环境变量的次序实现,默认的python环境为环境变量中靠前的路径下的python环境。
2.指定python环境安装,将目标环境下的python可执行文件(python.exe)复制粘贴并重新命名如(python3.exe),与默认环境下的python可执行文件名字产生差别,再指定python环境(python3)安装:
python3 -m pip install opencv-python numpy matplotlib
这样就能正常安装相应的库。
三、编译环境
常用的python编译器如pycharm、eclipse、vscode均可,本blog以vscode为主。vscode中安装python插件即可使用python。
四、OpenCV入门
导入OpenCV库后就能正常使用相关的API了,只需在开头导入即可。
import cv2
正常的使用需要先打开一个窗口,后续图片可以在窗口内显示,创建调用namedWindow方法,namedWindow方法主要有两个参数,第一个为参数为创建窗口的名称,类型为str,第二个参数为显示的窗口模式,用的是OpenCV库里的枚举变量,通常用cv2.WINDOW_NORMAL(可调节窗口)、cv2.WINDOW_AUTOSIZE(缺省时的默认值,不可调节窗口,大小由图像决定),若选择了cv2.WINDOW_NORMAL,后续可以通过resizeWindow方法实现对窗口大小的调整。
cv2.namedWindow('new', cv2.WINDOW_NORMAL) #创建窗口
cv2.resizeWindow('new', 640, 480) #设置窗口大小
创建完窗口后,需要用imshow方法打开窗口,即可看到窗口,imshow方法同样有两个参数,第一个为窗口的名字,填入之前创建的窗口名即可,第二个参数为需要显示的图像,由于现在我们只是观测窗口,所以先填0。
cv2.imshow('new',0)
但是仅仅使用imshow会发现窗口打开后一闪而逝,因此需要让窗口保持一直显示的状态,因此,需要加入窗口延迟函数:
cv2.waitKey(0) #窗口延迟时间(单位为ms) 写0为一直展示 该函数可以返回键值
最终就可以看到窗口持续打开的效果:
五、整体代码实现
import cv2
cv2.namedWindow('new', cv2.WINDOW_NORMAL) #创建窗口
cv2.resizeWindow('new', 640, 480) #设置窗口大小
cv2.imshow('new', 0) #打开窗口
key = cv2.waitKey(0) #窗口延迟时间(单位为ms) 写0为一直展示 该函数可以返回键值
cv2.destroyAllWindows() #释放全部的窗口资源