- OpenCV计算机视觉项目实战(Python版)
- 洪锦魁
- 412字
- 2024-12-27 18:56:02
2-5 获得图像的属性
第1章介绍了使用imread( )函数读取图像文件,在数据处理过程中必须了解图像的属性,常用的属性有以下几种:
shape属性:如果是灰度图像可以由shape属性获得图像像素的行数(rows)、列数(columns);如果是彩色图像可以由shape属性获得图像像素的行数(rows)、列数(columns)和通道数(channels)。
注:对于灰度色彩而言,颜色的通道数是1,shape属性则省略此部分。
size属性:这个属性的值是“行数×列数×通道数”。
dtype属性:这个属性是返回图像的数据类型。
程序实例ch2_1.py:打印灰度图像的属性值。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P26_1435.jpg?sign=1739030324-mFtzRJqafqPSpeyFvjnXgO0KmSeNKGFs-0-0251bcb99dc77d609c056353fa2d8303)
执行结果
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P26_1438.jpg?sign=1739030324-crYMTGMUKYT4xoxRtYHyZaHCxJVUzlE0-0-e0c68dea3388ce2bd289e09001f131de)
如果现在使用Windows的画图工具打开jk.jpg文件,可以看到下图所示结果。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P27_1448.jpg?sign=1739030324-2gOirROMIUTMOW4eu7U9vu90dbZlVlYS-0-3e4a864e1a4a78d9a9fc8fd81a648039)
在上述界面的状态行可以看到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:打印彩色图像的属性值。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P27_1451.jpg?sign=1739030324-DO9CWlNc0PoqnKcrr025YlXtAc0P7r3C-0-c29e9943790410b3dfa23c15fa78c3d2)
执行结果
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P27_1454.jpg?sign=1739030324-f8WYE0eUp8AUqUs6cH7FwZkO6yYURm0a-0-539ca95d4e87b291138b04051f4affaf)
上述size的返回值是353970,即345×342×3。