OpenCV计算机视觉项目实战(Python版)
上QQ阅读APP看书,第一时间看更新

2-5 获得图像的属性

第1章介绍了使用imread( )函数读取图像文件,在数据处理过程中必须了解图像的属性,常用的属性有以下几种:

shape属性:如果是灰度图像可以由shape属性获得图像像素的行数(rows)、列数(columns);如果是彩色图像可以由shape属性获得图像像素的行数(rows)、列数(columns)和通道数(channels)。

:对于灰度色彩而言,颜色的通道数是1,shape属性则省略此部分。

size属性:这个属性的值是“行数×列数×通道数”。

dtype属性:这个属性是返回图像的数据类型。

程序实例ch2_1.py:打印灰度图像的属性值。

执行结果

如果现在使用Windows的画图工具打开jk.jpg文件,可以看到下图所示结果。

在上述界面的状态行可以看到342×345像素,这是用坐标轴的概念(x, y)代表像素。但是OpenCV是使用(y, x)方式返回像素数据。

程序ch2_1.py执行结果,size返回值是117990,即345×342。

程序ch2_1.py执行结果,dtype返回的数据类型是uint8,这是Numpy模块的数据类型,表示8位无符号整数,取值是0~255。

程序实例ch2_2.py:打印彩色图像的属性值。

执行结果

上述size的返回值是353970,即345×342×3。