图像压缩 python
时间: 2023-08-17 18:11:17 浏览: 139
Python实现图片压缩.py
图像压缩是指将图像文件的大小减小,以便在存储或传输过程中占用更少的空间或带宽。在Python中,有几种方法可以实现图像压缩。
一种常用的方法是使用图像处理库PIL(Python Imaging Library)或其分支库Pillow。以下是使用Pillow进行图像压缩的示例代码:
```python
from PIL import Image
def compress_image(input_image_path, output_image_path, max_size):
image = Image.open(input_image_path)
image.thumbnail((max_size, max_size))
image.save(output_image_path, "JPEG")
input_image_path = "input.jpg"
output_image_path = "output.jpg"
max_size = 1024 # 设置最大尺寸
compress_image(input_image_path, output_image_path, max_size)
```
在上述代码中,`compress_image`函数接受输入图像路径、输出图像路径和最大尺寸作为参数。函数内部使用`Image.open`打开输入图像文件,然后使用`thumbnail`方法将图像缩放到指定的最大尺寸。最后,使用`save`方法将压缩后的图像保存到输出路径。
另一种常用的图像压缩方法是使用开源库OpenCV。以下是使用OpenCV进行图像压缩的示例代码:
```python
import cv2
def compress_image(input_image_path, output_image_path, quality):
image = cv2.imread(input_image_path)
cv2.imwrite(output_image_path, image, [cv2.IMWRITE_JPEG_QUALITY, quality])
input_image_path = "input.jpg"
output_image_path = "output.jpg"
quality = 80 # 设置压缩质量(0-100)
compress_image(input_image_path, output_image_path, quality)
```
在上述代码中,`compress_image`函数接受输入图像路径、输出图像路径和压缩质量作为参数。函数内部使用`cv2.imread`读取输入图像文件,然后使用`cv2.imwrite`将图像以指定的压缩质量保存到输出路径。
以上是两种常用的图像压缩方法,你可以根据实际需求选择适合的方法进行图像压缩。
阅读全文