python 压缩图片
时间: 2023-02-14 09:39:34 浏览: 80
可以使用 Python 的图像库 Pillow 来压缩图片。下面是一个简单的例子:
```
from PIL import Image
# 打开图片
im = Image.open("input.jpg")
# 调整图片大小
im_resized = im.resize((128, 128))
# 保存压缩后的图片
im_resized.save("output.jpg", quality=95)
```
这个例子会将图片大小调整为 128x128 像素,并使用质量值 95 保存压缩后的图片。注意,质量值越高,图片尺寸越大,图片质量越高,反之亦然。
您也可以使用 Python 的压缩库 zlib 来压缩图片文件的大小,如下所示:
```
import zlib
# 读取图片文件的内容
with open("input.jpg", "rb") as f:
data = f.read()
# 压缩文件内容
compressed_data = zlib.compress(data)
# 将压缩后的文件内容保存到新的文件中
with open("output.jpg", "wb") as f:
f.write(compressed_data)
```
希望这些信息能够帮到您!
相关问题
python压缩图片
你可以使用Python的Pillow库来压缩图片。以下是一个简单的示例代码:
```python
from PIL import Image
def compress_image(input_path, output_path, max_size):
image = Image.open(input_path)
# 获取原始图片尺寸
width, height = image.size
# 计算压缩比例
ratio = max(width, height) / max_size
# 如果图片已经小于设定的最大尺寸,则无需压缩
if ratio <= 1:
image.save(output_path)
return
# 计算压缩后的尺寸
new_width = int(width / ratio)
new_height = int(height / ratio)
# 生成压缩后的图片
resized_image = image.resize((new_width, new_height), Image.ANTIALIAS)
# 保存压缩后的图片
resized_image.save(output_path)
# 示例使用
input_path = 'input.jpg' # 输入图片路径
output_path = 'output.jpg' # 输出图片路径
max_size = 1024 # 设定的最大尺寸
compress_image(input_path, output_path, max_size)
```
在上述代码中,我们定义了一个`compress_image`函数,它接收输入图片的路径、输出图片的路径以及设定的最大尺寸作为参数。该函数会判断原始图片是否需要进行压缩,若需要,则根据设定的最大尺寸计算压缩比例,并生成压缩后的图片。最后,将压缩后的图片保存到输出路径。
你可以根据实际需求调整`max_size`的值来控制压缩后的图片尺寸。
python压缩图片?
以下是使用Python进行图片压缩的方法:
1. 使用Pillow库进行图片压缩:
```python
from PIL import Image
def compress_image(image_path, output_path, quality):
img = Image.open(image_path)
img.save(output_path, optimize=True, quality=quality)
# 示例用法
compress_image('input.jpg', 'output.jpg', 80)
```
2. 使用OpenCV库进行图片压缩:
```python
import cv2
def compress_image(image_path, output_path, quality):
img = cv2.imread(image_path)
cv2.imwrite(output_path, img, [cv2.IMWRITE_JPEG_QUALITY, quality])
# 示例用法
compress_image('input.jpg', 'output.jpg', 80)
```
这两种方法都可以用来压缩图片,但是需要注意的是,压缩图片会导致一定的失真。你可以根据需要调整quality参数来控制压缩质量,值越小压缩质量越低。