python处理并压缩图片
时间: 2023-10-18 16:05:28 浏览: 43
要处理和压缩图像,可以使用Python中的Pillow库。以下是一个示例代码,演示如何打开图像,调整大小,应用滤镜并保存压缩后的图像:
```python
from PIL import Image
# 打开图像
img = Image.open('example.jpg')
# 调整大小
img = img.resize((800, 800))
# 应用滤镜
img = img.filter(ImageFilter.BLUR)
# 保存压缩后的图像
img.save('example_compressed.jpg', optimize=True, quality=50)
```
在这个例子中,我们首先打开名为“example.jpg”的图像。然后,我们将其大小调整为800x800像素,并应用了一个模糊滤镜。最后,我们使用“optimize”和“quality”参数将压缩质量设置为50,并将结果保存为名为“example_compressed.jpg”的文件。
相关问题
python高效压缩图片
使用python高效压缩图片的方法有多种。其中一种方法是使用谷歌的开源图片压缩工具Guetzli。Guetzli可以通过优化JPEG格式的压缩来减小图片的文件大小,同时保持较高的图像质量。通过使用Guetzli,你可以在不降低图像质量的情况下,大幅减小图片的文件大小。
另一种方法是使用Python的Pillow库。Pillow库提供了丰富的图像处理功能,包括图片压缩。你可以使用Pillow库中的save方法将图片以指定的压缩质量保存为JPEG格式。通过调整压缩质量参数,你可以在压缩图片的同时控制图片的文件大小和图像质量。
除了上述两种方法,还有其他一些第三方库可以用来压缩图片,例如pytinyjpg、pycmprs等。这些库提供了更多的选项和功能,可以根据你的具体需求选择合适的方法。
python批量压缩图片
你可以使用Python的Pillow库来批量压缩图片。以下是一个简单的示例代码:
```python
from PIL import Image
import os
# 设置压缩后的宽度和高度
size = (800, 800)
# 定义处理图片的函数
def compress_images(directory):
for filename in os.listdir(directory):
if filename.endswith(".jpg") or filename.endswith(".jpeg") or filename.endswith(".png"):
filepath = os.path.join(directory, filename)
with Image.open(filepath) as img:
img.thumbnail(size)
img.save(filepath)
# 调用函数处理图片
compress_images("path/to/directory")
```
上述代码可以批量压缩指定目录下的所有.jpg、.jpeg和.png格式的图片,并将它们的宽度和高度缩小至800像素以内。你可以根据需要调整压缩后的尺寸。