计算机视觉应用与实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 图像读取

1.2.1 使用OpenCV读取图像

在OpenCV中,可以使用cv2.imread(filename,flags)函数来读取图像。图像应该存储在工作目录中或给出图像的完整路径。

第一个参数filename是图像地址,即使图像路径错误,也不会引发任何错误,但是在打印图像时系统会给出None。

第二个参数flags是一个标志,指定了读取图像的方式。

·cv2.IMREAD_COLOR:加载彩色图。任何图像的透明度都会被忽视,它是默认参数值,可以用1代替。

·cv2.IMREAD_GRAYSCALE:以灰度模式(黑白图像)加载图像,可以用0代替。

·cv2.IMREAD_UNCHANGED:加载图像,包括alpha通道,可以用-1代替。

该函数的返回值是图像数字矩阵,维度如下。

·(M,N):用于灰度图。

·(M,N,3):用于RGB彩色图。

使用cv2.cvtColor(img,color_change)函数对颜色维度进行转换。

第一个参数img是图像对象。

第二个参数color_change是cv2.COLOR_BGR2GRAY(OpenCV定义的常数),用来将BGR通道彩色图转换为灰度图。

该函数返回修改后的图像数字矩阵。

1.2.2 使用Matplotlib读取图像

在Matplotlib中,可以使用matplotlib.pyplot.imread(fname,format=None)函数来读取图像。

其中,fname是图像路径;format是图像格式,默认值是None。如果没有提供图像格式,则imread()函数会从fname中提取图像格式。

该函数的返回值是图像数字矩阵,维度如下。

·(M,N):用于灰度图。

·(M,N,3):用于RGB彩色图。

1.2.3 案例实现——使用OpenCV读取图像

1.实验目标

(1)读取单通道灰度图。

(2)读取三通道彩色图。

(3)将彩色图转换为灰度图。

2.实验环境

实验环境如表1.3所示。

表1.3 实验环境

3.实验步骤

创建源码文件test01_imread_opencv.py。

按照如下步骤编写代码。

步骤一:导入模块

步骤二:读取单通道灰度图

步骤三:读取三通道彩色图

步骤四:将彩色图转换为灰度图

步骤五:运行实验代码

使用如下命令运行实验代码。

运行效果如图1.3~图1.5所示。

图1.3 单通道灰度图

图1.4 三通道彩色图

图1.5 将彩色图转换为灰度图

1.2.4 案例实现——使用Matplotlib读取图像

1.实验目标

使用Matplotlib读取图像,显示图像及其属性信息。

2.实验环境

实验环境如表1.4所示。

表1.4 实验环境

3.实验步骤

创建源码文件test02_imread_matplotlib.py。

按照如下步骤编写代码。

步骤一:导入模块

步骤二:读取图像

步骤三:运行实验代码

使用如下命令运行实验代码。

运行效果如图1.6所示。

图1.6 使用Matplotlib读取图像