要将图片的分辨率降低,可以使用Python的Pillow库和NumPy库。以下是一个使用这两个库的示例代码:
from PIL import Image
import numpy as np
# 打开图片并转换为NumPy数组
image = Image.open('input.jpg')
image_arr = np.array(image)
# 获取原始图片的分辨率
original_width, original_height = image.size
# 定义降低分辨率的倍数
reduction_factor = 2
# 计算新的图片分辨率
new_width = original_width // reduction_factor
new_height = original_height // reduction_factor
# 使用Pillow库将NumPy数组转换为图片对象并调整分辨率
new_image = Image.fromarray(image_arr)
new_image = new_image.resize((new_width, new_height))
# 保存调整分辨率后的图片
new_image.save('output.jpg')
上述代码中,首先使用Pillow库的Image.open()函数打开要处理的图片,并将其转换为NumPy数组。然后,通过获取该数组的形状来获得原始图片的分辨率。
接下来,定义一个降低分辨率的倍数,这里取2作为示例。
计算新的图片分辨率的宽度和高度,通过原始图片的宽度和高度除以降低倍数得到。
然后,使用Pillow库的Image.fromarray()函数将NumPy数组转换为新的图片对象,并使用resize()函数调整分辨率到新的宽度和高度。
最后,使用save()函数保存调整分辨率后的图片。
注意:以上代码中的'input.jpg'和'output.jpg'分别表示输入图片和输出图片的文件名,需要根据实际情况进行修改。