创客出手

目录

OpenCV Python 读取图片 (imread)

本示例使用的OpenCV版本是:4.1.1
运行Python的编辑器:Jupyter Notebook

示例目的

本示例,将教会你如何使用OpenCV的.imread()方法,从本地文件读取/加载图片


开始实现

加载OpenCV库

首先需要加载OpenCV的库才能使用cv2里的函数或者方法。
这里的cv2并不是指OpenCV 2的意思,这只是历史遗留问题而已,可以通 cv2.__version__ 查看当前版本信息。

import cv2
print(cv2.__version__)

从文件加载图片

我们使用cv2的imread()函数,从文件中加载图片。
example.jpeg存放在与本python代码文件同一目录下的。

img = cv2.imread('example.jpeg')

此时,通过cv2.imread('...')读取的数据,会以一个NumPy的阵列类型的数据类型保存在img的变量里。

我们可以通过一些NumPy的属性进行检查img的属性:

  • 通过 .shape 可以查看到图片的一些信息例高度,宽度,颜色通道数;
  • 通过 .dtype 可以查看读取的数据元素的数据类型
  • 通过 .type 可以查看数据结构类型

例如,示例代码如下:

print('shape:', img.shape)
print('dtype:', img.dtype)
print('type:', type(img))

执行上面的代码后,返回以下信息:

shape:(147, 342, 3)
dtype: uint8
type: < class ‘numpy.ndarray’ >


程序说明

在OpenCV中,主要使用cv.imread()函数读取图像。该函数会读取图像文件,并返回一个NumPy的矩阵类型,而NumPy的矩阵有shape的属性表示图片的高度,宽度和颜色通道数,dtype属性表示元素的数据类型,默认是uint8,也就是整数0-255范围的值,其还支持float32数据类型,也就是0-1之间的小数。

cv.imread()函数还支持可选的flag参数,可以设置读取图像的模式是灰度还是彩色等等。具体请参考cv.imread() https://docs.opencv.org/4.1.1/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56

更多关于 的文章
关注创客出手公众号

关注创客出手