Python 是一个非常适合处理图片的编程语言。获取图片的分辨率是我们处理图片时经常需要用到的一个操作。下面是 Python 中获取图片分辨率的完整攻略。
安装必要的库
要使用 Python 获取图片分辨率,我们需要使用到图片处理库 PIL 或 Pillow。Pillow 是 PIL 的加强版,因此我们使用 Pillow 比使用 PIL 更好。
使用以下命令安装 Pillow:
pip install Pillow
获取图片的分辨率
获取图片的分辨率可以分为以下几步:
- 使用 Pillow 库打开图片。
- 调用图片对象的
size
属性,获取图片的宽度和高度。
以下是一个简单的示例代码:
from PIL import Image
# 打开图片
img = Image.open('example.jpg')
# 获取图片的分辨率
width, height = img.size
# 输出图片的分辨率
print(f'图片的宽度为 {width} 像素,高度为 {height} 像素')
示例解释:
- 导入 PIL 库中的 Image 模块。
- 使用
Image.open()
方法打开了一张名为 'example.jpg' 的图片,并把打开的图片对象保存到变量img
中。 - 使用
img.size
属性获取图片的宽度和高度,并分别保存到变量width
和height
中。 - 最后通过
print()
函数输出了图片的分辨率。
我们也可以使用相对路径或绝对路径来打开图片,只需将 'example.jpg' 替换为图片的实际路径即可。
示例 1: 批量获取图片分辨率
如果您需要获取多张图片的分辨率,您可以使用以下代码:
import os
from PIL import Image
# 存放图片文件夹的路径
path = './images'
# 获取 images 文件夹下所有的图片
imgs = os.listdir(path)
# 遍历所有图片,输出图片的分辨率
for name in imgs:
# 获取图片的实际路径
img_path = os.path.join(path, name)
# 打开图片
img = Image.open(img_path)
# 获取图片的分辨率
width, height = img.size
# 输出图片的分辨率
print(f'图片 {name} 的宽度为 {width} 像素,高度为 {height} 像素')
示例解释:
- 导入 os 和 PIL 库中的 Image 模块。
- 定义了存放图片文件夹的路径,并使用
os.listdir()
方法获取该文件夹下的所有图片的名称。 - 遍历所有图片,输出每张图片的分辨率。
- 在遍历过程中,使用
os.path.join()
方法获取图片的实际路径,并使用Image.open()
方法打开图片。 - 然后再使用
img.size
获取图片的宽度和高度,并使用print()
函数输出。
示例 2: 图片需要等比例缩放
如果您的图片需要等比例缩放,此时可以用以下代码来获取图片的分辨率:
from PIL import Image
# 存放原始图片的路径
original_path = 'example.jpg'
# 需要缩放到的分辨率
target_resolution = (800, 600)
# 打开原始图片
original_img = Image.open(original_path)
# 获取图片的分辨率
original_width, original_height = original_img.size
# 计算缩放比例
scale = min(target_resolution[0] / original_width, target_resolution[1] / original_height)
# 计算缩放后的分辨率
new_width, new_height = int(original_width * scale), int(original_height * scale)
# 输出缩放后的分辨率
print(f'缩放后的图片的宽度为 {new_width} 像素,高度为 {new_height} 像素')
示例解释:
- 导入 PIL 库中的 Image 模块。
- 定义存放原始图片的路径,并且定义需要缩放到的目标分辨率。
- 打开原始图片,并使用
img.size
获取图片的宽度和高度,并将其保存到变量original_width
和original_height
中。 - 接下来计算缩放比例,这里我们使用了
min()
函数来判断是根据宽度进行缩放还是根据高度进行缩放,从而保证等比例缩放。 - 然后再计算缩放后的分辨率,最后使用
print()
函数输出缩放后的分辨率。
以上就是关于 Python 中获取图片分辨率的完整攻略,希望对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 获取图片分辨率的方法 - Python技术站