『OpenCV-Python』获取图片的基本参数信息
点赞 + 关注 + 收藏 = 学会了 推荐 《OpenCV-Python专栏》 在图像处理领域,了解图像的基本信息是必不可少的第一步。 之前已经使用 cv2.imread() 方法将图片读取出来了。我们还可以使用 OpenCV 提供的一些方法去读取图片的尺寸、通道数、图片像素总数等信息。 获取图片宽高和通道数 通过 shape 属性可以直接获取图像的维度信息。 import cv2 # 读取图片 img = cv2 . imread ( '德育处主任.jpeg' ) # 获取图片的宽、高和通道数 height , width , channels = img . shape print ( f'图片高度: { height } ' ) print ( f'图片宽度: { width } ' ) print ( f'图片通道数: { channels } ' ) 我读取的是一张 1280x1280 的彩色图像。运行代码后,在终端会输出以下内容。 图片高度: 1280 图片宽度: 1280 图片通道数: 3 注意:如果图片是灰度图, shape 只有两个值(高度和宽度),没有通道数。 处理灰度图的情况: # 检查是否为灰度图 if len ( image . shape ) == 2 : height , width = image . shape print ( "这是灰度图" ) else : height , width , channels = image . shape print ( "这是彩色图" ) 获取像素数据类型 图片的每个像素都有一个数据类型,常见的数据类型包括 uint8 (0-255)。可以通过 Numpy 的 dtype 属性获取。 # 获取数据类型 pixel_dtype = img . dtype print ( f"像素数据类型: { pixel_dtype } " ) 我的示例图片是 uint8 ,所以输出的结果是: 像素数据类型:uint8 计算图片大小(总像素数) 通过宽度、高度和通道数,可以计算图片的大小。用到的属性是 s...