Python的Pillow库和NumPy库将图片的分辨率降低

要将图片的分辨率降低,可以使用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'分别表示输入图片和输出图片的文件名,需要根据实际情况进行修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值