写在前面:
昨天的文章中与大家交流了python的OpenCV的imread函数,在其中有的朋友对于图片输出数组的问题有疑惑,于是今天统一进行科普一下.
一张图像,三原色是red(R通道),green(G通道),blue(B通道),三个原色进行叠加可以得到任意颜色,每个图像的每个像素都是由三个颜色构成,(255,255,255)
其中元组的255表示元素的亮度,由左到右分别是RGB的亮度,不同亮度对应不同的组合,在一般的图像中可以由256×256×256=16777216种组合(包括0等级的亮度),所以实际上python输出的就是各个像素的RGB亮度罢了,只要有这些数据,就能组合成每个像素,也就意味着能组合成每个图像.
输出为RGB亮度的数组
关于图像的组成我们不过多赘述了,在之后的开发中有遇到我们会详细说明的,今天我们要说的是另一个函数,也是一个基本的操作函数:imshow,同一般的操作一样,我们首先要读取这个图片
赋值给一个变量,然后调用imshow函数,创建窗口绘图,代码如下:
但是,有运行一遍的朋友可能发现了,这段代码执行之后,有一个窗口一闪而过,根本没有停留,为了看到我们导入的图像是否成功,我们需要用到另一个函数,就是waitkey,先看一下编辑器中对于waitkey的定义,
给大家解释一下,waitkey的作用在于刷新图像,对应的括号内的参数为刷新时间,单位为毫秒.
那么要让窗口停留,我们就在这个代码下方加入一条语句即可:
那么总代码和运行结果如下:
这个就是我们先读取后显示图像的基本操作了,在对应的目录下的图像会被输出显示,窗口分辨率对应图像分辨率.
说到waitkey函数,在读取视频时候,如果waitkey为0的话,就会停留在视频第一帧,如果参数为1,那么在第一帧读取之后暂停1ms才会继续读取下一帧.
欢迎交流,欢迎私信
编辑于 22:26
Python 入门
OpenCV
计算机视觉
领取专属 10元无门槛券
私享最新 技术干货