
python中如何得到图像的宽高
用户关注问题
如何使用Python读取图像的尺寸信息?
我想知道如何通过Python代码获取一张图片的宽度和高度,有哪些库可以实现?
使用Pillow库读取图像尺寸
可以使用Pillow(PIL的升级版)库来读取图像尺寸。先用Pillow的Image模块打开图像文件,然后访问image.size属性即可得到宽度和高度,例如:
from PIL import Image
image = Image.open('example.jpg')
width, height = image.size
print('宽度:', width)
print('高度:', height)
有没有不依赖Pillow的纯Python方法获取图片宽高?
除了使用Pillow外,有没有其他方法或标准库可以获取图像的宽和高?
利用OpenCV库读取图像尺寸
可以使用OpenCV库中的cv2.imread函数读取图片,然后通过.shape属性得到尺寸信息。代码示例如下:
import cv2
img = cv2.imread('example.jpg')
height, width = img.shape[:2]
print('宽度:', width)
print('高度:', height)
需要先安装opencv-python库。
如何获取图像宽高而不加载整张图片到内存?
我担心图片文件过大,直接加载是否会消耗太多内存,有没有方法只读取尺寸信息?
使用Pillow的Image.open懒加载特性
Pillow的Image.open函数默认是懒加载的,只在必要操作时才读取图像数据。读取image.size属性不会加载完整图像,因此内存消耗较低,放心使用。例如:
from PIL import Image
image = Image.open('large_image.jpg')
print(image.size)
这样就能快速、高效地获取图像的宽高。