使用ImageIO获取已加载图片的宽高(分辨率)
如何用ImageIO获取图片的宽度和高度?
嘿,这事儿超简单!你已经用imread把图片加载成numpy数组了,那直接用数组的shape属性就能拿到分辨率信息~
先回顾下你的代码:
from imageio import imread image_data = imread('c:/myImage.png')
核心方法:利用numpy数组的shape属性
对于你打印出来的那种RGB彩色图(三维数组),image_data.shape会返回一个三元组:(高度, 宽度, 通道数)。所以:
- 图片高度 =
image_data.shape[0] - 图片宽度 =
image_data.shape[1]
要是你加载的是灰度图,数组会是二维的,shape就变成(高度, 宽度),同样用索引0和1取对应值就行。
完整示例代码
from imageio import imread # 加载目标图片 image_data = imread('c:/myImage.png') # 提取分辨率参数 height = image_data.shape[0] width = image_data.shape[1] # 输出结果 print(f"图片宽度:{width} 像素,高度:{height} 像素")
小提醒
这里要注意下顺序:numpy数组的维度是行在前,列在后,对应到图片就是高度(行数)在前,宽度(列数)在后,和我们平时说的“宽×高”表述顺序相反,别搞混哦~
内容的提问来源于stack exchange,提问作者Bear
相关产品推荐
相关产品推荐

