Python 获取图片分辨率的两种常用方法

码头散步
码头散步
发布时间:2026-10-12| 2人浏览过
原创

在 Python 图像处理开发中,获取图片的分辨率(即宽度和高度)是基础且常见的操作。本文总结了两种最常用的实现方案:利用 Pillow (PIL) 库直接获取尺寸,以及使用 OpenCV 库读取图像数据并解析形状信息。这两种方法各有侧重,开发者可根据项目依赖选择合适的方式。

使用 Pillow (PIL) 获取分辨率

Pillow 是 Python 图像处理的标准库之一,其接口简洁直观。通过 Image.open() 打开图片文件后,可以直接访问 .size 属性来获取图片的宽和高。该方法返回一个包含两个整数的元组,分别对应图片的像素宽度和像素高度。

from PIL import Image

# 指定图片路径
filename = r'E:\data\yangben\0.jpg'

# 打开图片文件
img = Image.open(filename)

# 获取图片尺寸 (width, height)
imgSize = img.size 
print(imgSize)

# 获取长边和短边数值
maxSize = max(imgSize) # 图片的长边
minSize = min(imgSize) # 图片的短边

print(maxSize, minSize)

上述代码首先导入 Image 模块,然后打开指定路径的图片。通过 img.size 直接获得分辨率数据,并利用 Python 内置的 max() 和 min() 函数进一步提取长边和短边的具体数值,便于后续逻辑判断。

使用 OpenCV 获取分辨率

OpenCV 是计算机视觉领域的强大工具库。使用 cv2.imread() 读取图片后,可以通过访问图像对象的 .shape 属性来获取图像的几何信息。该属性返回一个元组,包含图像的高度、宽度以及通道数(如果是彩色图像)。

import cv2

# 假设 F1 为图片路径变量
img = cv2.imread(F1)

# 获取图像形状信息
sp = img.shape
height = sp[0] # height(rows) of image
width = sp[1] # width(colums) of image
chanael = sp[2] # the pixels value is made up of three primary colors

# 打印宽、高及通道数
print('width: %d \nheight: %d \nnumber: %d' % (width, height, chanael))

在 OpenCV 中,sp[0] 代表图像的高度(行数),sp[1] 代表图像的宽度(列数)。对于彩色图像,sp[2] 表示通道数(通常为 3,对应 BGR 格式)。这种方法不仅获取了分辨率,还同时提供了通道信息,适用于需要深入处理图像像素值的场景。

总结

无论是使用 Pillow 还是 OpenCV,获取图片分辨率都非常便捷。Pillow 方法更轻量,适合仅需尺寸信息的场景;OpenCV 方法则提供了更丰富的图像元数据,适合复杂的计算机视觉任务。开发者可根据实际需求选择合适的方法。

以上就是 Python 获取图片分辨率的两种常用方法的详细内容,更多关于 Python 图像处理技巧的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。