python实现图片压缩
时间: 2024-11-15 09:11:56 浏览: 42
在Python中,可以使用PIL (Python Imaging Library) 或其更新版本Pillow库来实现图片的压缩。以下是一个简单的例子,展示如何通过调整图片的质量(JPEG格式下)或尺寸(如缩放)来进行压缩:
```python
from PIL import Image
def compress_image(input_path, output_path, quality=85):
# 打开图像文件
with Image.open(input_path) as img:
# 对于JPEG格式,设置压缩质量(0-100,越高质量越高)
# 对于其他格式,可能会有不同的参数设置
compressed_img = img.resize((新宽度, 新高度), Image.ANTIALIAS)
compressed_img.save(output_path, optimize=True, quality=quality)
# 使用函数压缩图片
compress_image('原图路径.jpg', '压缩后路径.jpg', quality=70)
```
在这个例子中,`resize`函数用于减少图片尺寸,`save`函数则指定了优化选项和压缩质量。你可以根据需要调整这些参数。
相关问题
python ffmpeg图片压缩
使用Python脚本调用ffmpeg可以实现图片的压缩。通过ffmpeg的命令行选项,可以指定压缩后的图片质量、分辨率等参数。下面是一个示例代码:
```python
import subprocess
def compress_image(input_file, output_file, quality):
command = f'ffmpeg -i {input_file} -q:v {quality} {output_file}'
subprocess.call(command, shell=True)
# 调用示例
input_file = 'input.jpg' # 输入图片文件名
output_file = 'output.jpg' # 输出图片文件名
quality = 30 # 图片质量,范围为0-100,值越小质量越低
compress_image(input_file, output_file, quality)
```
python实现图片的无损压缩
Python中有很多库可以实现图片的无损压缩,常用的有Pillow和OpenCV。
以下是使用Pillow库进行无损压缩的示例代码:
```python
from PIL import Image
# 打开原始图片
img = Image.open("original_image.jpg")
# 保存压缩后的图片,quality参数为压缩质量,范围为0-100,数值越高质量越好
img.save("compressed_image.jpg", quality=80)
```
以下是使用OpenCV库进行无损压缩的示例代码:
```python
import cv2
# 读取原始图片
img = cv2.imread("original_image.jpg", cv2.IMREAD_UNCHANGED)
# 保存压缩后的图片,参数为压缩质量,范围为0-100,数值越高质量越好
cv2.imwrite("compressed_image.jpg", img, [cv2.IMWRITE_JPEG_QUALITY, 80])
```
无论使用哪个库进行压缩,都需要注意压缩后的图片文件大小和压缩质量的平衡,一般可以通过不断调整quality参数来寻找最佳的平衡点。
阅读全文