OpenCV教程-初识OpenCV-第一篇
Posted 一只爱编程的书虫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV教程-初识OpenCV-第一篇相关的知识,希望对你有一定的参考价值。
系列文章目录
文章目录
前言
本文章Python环境为Anaconda 3.8。
OpenCV是什么?
OpenCV
是一个计算机视觉库,可用于图像处理等各个方面。
如何安装OpenCV?
敲黑板,很多新手都在这里栽坑。可不是pip install cv2
,而是pip install opencv-python
。在这里建议大家使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ opencv-python
来安装OpenCV
。
如何导入OpenCV
敲黑板,很多新手都在这里栽坑。应该用import cv2
来导入OpenCV
,可不是import opencv-python
呀!
使用
导入图片
使用cv2.imread
函数来导入图片,返回格式为numpy.ndarray
数组,
该函数有两个参数,第一个是图片路径,第二个是导入图片的设置,具体请看下面解释。
cv2.IMREAD_COLOR
默认参数,以RGB模式读入一副彩色图片,忽略alpha通道。
cv2.IMREAD_GRAYSCALE
读入一副灰度图
cv2.IMREAD_UNCHANGED
读入一副完整图片,包括alpha通道。
解决返回NoneType的问题
可以尝试使用cv2.imdecode(np.fromfile('文件路径', dtype=np.uint8), '导入设置')
来代替imread
,出现该错误的原因主要是路径中包含中文或空格。
显示图片
请使用下列代码来显示图片。
import cv2
cv2.imshow('图像标题', 'numpy.ndarray对象 (图片)')
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imshow
是显示图片的函数,至于为什么后面要加那两句,请看下方↓↓↓
cv2.waitKey
请注意,该代码在至少有一个HighGUI
窗口时才有用。
这行代码是让程序暂停,直到按下任意键,将会返回按下键的ASCII
码。参数是超时时间,单位为毫秒,0
为一直等待,超时返回-1
。
如果想按下指定按键才会退出,可以看如下代码↓↓↓
cv2.waitKey(0) == 27
这里的27
是按键的ASCII
码,此处的27
是ESC
按键的ASCII
码。
有些人可能会觉得这样设计很麻烦,请看下面的截图↓↓↓
这段截图是从函数的文档里截取的,大意是:
注意:函数#waitKey和#pollKey是HighGUI中唯一可以获取和处理GUI事件的方法,因此需要定期调用其中一个以进行正常事件处理,除非HighGUI在负责事件处理的环境中使用。
cv2.destoryAllWindows
这个函数的作用是销毁所有窗口,这里我就不多说了,懂得都懂。
与它差不多的是cv2.destoryWindow
,参数是要销毁的窗口标题。
保存图片
使用函数cv2.imwrite(file,img,num)保存一个图像。第一个参数是要保存的文件名,第二个参数是要保存的图像。可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.
注意:
cv2.IMWRITE_JPEG_QUALITY
类型为long
,必须转换成int
,参数越小图像越小,这个是有损压缩。
cv2.IMWRITE_PNG_COMPRESSION
从0
到9
压缩级别越高图像越小,这个是无损压缩。
cv2.imwrite('图片路径', 'numpy.ndarray对象 (图片)', [int(cv2.IMWRITE_JPEG_QUALITY), '图片质量 (0-100)'])
cv2.imwrite('图片路径', 'numpy.ndarray对象 (图片)', [int(cv2.IMWRITE_PNG_COMPRESSION), '压缩级别 (0-9)'])
小结
使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ opencv-python
来安装OpenCV
。
使用import cv2
导入OpenCV
。
感谢观看!
以上是关于OpenCV教程-初识OpenCV-第一篇的主要内容,如果未能解决你的问题,请参考以下文章