本示例使用的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