jpeg图像压缩python实现
时间: 2023-09-14 08:12:32 浏览: 221
你可以使用Python中的PIL库来实现JPEG图像压缩。以下是一个简单的示例代码:
```python
from PIL import Image
def compress_image(input_path, output_path, quality):
try:
img = Image.open(input_path)
img.save(output_path, 'JPEG', quality=quality)
return True
except Exception as e:
print(f"图片压缩失败:{str(e)}")
return False
# 使用示例
input_path = 'input.jpg' # 输入图像路径
output_path = 'output.jpg' # 输出图像路径
quality = 50 # 压缩质量,取值范围为0-100,100表示无损压缩
compress_image(input_path, output_path, quality)
```
在上述示例中,`compress_image`函数接受输入图像路径、输出图像路径和压缩质量作为参数。函数内部使用PIL库打开输入图像,然后使用`save`方法将图像以JPEG格式保存到指定的输出路径,并指定压缩质量。
请注意,较低的压缩质量可能会导致图像质量损失。你可以根据需要调整压缩质量参数以平衡图像大小和质量之间的关系。
相关问题
jpeg图像压缩python
在Python中进行JPEG图像压缩可以使用PIL库(Python Imaging Library)来实现。以下是一个简单的示例代码:
```python
from PIL import Image
def compress_image(input_path, output_path, quality):
image = Image.open(input_path)
image.save(output_path, "JPEG", quality=quality)
# 使用示例
input_image = "input.jpg" # 输入图像路径
output_image = "output.jpg" # 输出图像路径
compress_quality = 80 # 压缩质量,范围为1-95,值越小压缩率越高
compress_image(input_image, output_image, compress_quality)
```
在上述示例中,我们首先导入`Image`模块,然后定义了一个`compress_image`函数,该函数接受输入图像路径、输出图像路径和压缩质量作为参数。其中,`quality`参数表示JPEG图像的压缩质量,范围为1-95,值越小表示压缩率越高。
使用示例中的代码,可以将名为"input.jpg"的输入图像以80%的压缩质量保存为"output.jpg"。
请注意,PIL库需要通过`pip install pillow`进行安装。
jpeg图像压缩python base64
JPEG是一种基于有损压缩的图像格式,它可以将图像压缩至原始大小的一半或更小,同时保留图像的可接受质量。Python中有多个库可以进行JPEG图像压缩和解压缩,其中比较常用的是Pillow库和OpenCV库。
而Base64是一种编码方式,可以将任意二进制数据转换为ASCII字符串,通常用于在HTTP等协议中传递二进制数据。在Python中,可以使用base64库进行base64编码和解码。
下面是一个将JPEG图像进行压缩和Base64编码的示例代码:
``` python
from PIL import Image
import io
import base64
# 打开图片并进行压缩
img = Image.open('example.jpg')
img = img.resize((int(img.width/2), int(img.height/2)))
buffer = io.BytesIO()
img.save(buffer, format='JPEG', quality=60)
# 进行Base64编码
base64_data = base64.b64encode(buffer.getvalue()).decode()
# 输出编码后的字符串
print(base64_data)
```
阅读全文