JupyterLab写一个对一张彩色图像进行JPEG图像压缩的代码,并输出压缩率
时间: 2024-02-22 16:58:41 浏览: 83
好的,下面是一个示例代码,可以对一张彩色图像进行JPEG图像压缩,并输出压缩率:
```python
from PIL import Image
import io
import os
# 打开图像
image = Image.open('example.jpg')
# 设置压缩质量,范围从0到100
quality = 50
# 创建一个字节流对象
output = io.BytesIO()
# 保存压缩后的图像到字节流对象中
image.save(output, format='JPEG', quality=quality)
# 计算压缩率
original_size = os.path.getsize('example.jpg')
compressed_size = len(output.getvalue())
compression_ratio = (original_size - compressed_size) / original_size * 100
# 输出压缩率
print(f'压缩率为{compression_ratio:.2f}%')
# 从字节流对象中获取压缩后的图像
compressed_image = Image.open(output)
# 输出压缩后的图像
compressed_image.show()
```
在上面的代码中,我们首先打开了一张名为`example.jpg`的彩色图像,然后设置了压缩质量为50(范围从0到100,值越小压缩率越高)。接着,我们创建了一个字节流对象,并将压缩后的图像保存到该对象中。然后,我们计算了压缩率,并输出结果。最后,我们从字节流对象中获取压缩后的图像,并使用`show()`方法输出该图像。你可以根据需要调整压缩质量来控制压缩率。
阅读全文