python无损压缩图片
时间: 2023-08-29 08:13:58 浏览: 184
你可以使用Pillow库来对图片进行无损压缩。以下是一个简单的例子:
```python
from PIL import Image
# 打开图片
image = Image.open("example.jpg")
# 无损压缩并保存
image.save("example_compressed.jpg", optimize=True, quality=95)
```
在上面的例子中,我们打开了一张名为"example.jpg"的图片,并使用`optimize=True`和`quality=95`参数进行了无损压缩,最后将压缩后的图片保存为"example_compressed.jpg"。你可以根据自己的需求调整`quality`参数来控制压缩质量,范围为0-100。越高的值意味着更高的质量和更大的文件大小。
相关问题
python无损压缩图片,图片分辨率和尺寸不变
在Python中,为了无损压缩图片并保持分辨率和尺寸不变,你可以使用`Pillow`库,它是一个常用的图像处理工具,支持多种图像格式。以下是使用Pillow进行无损压缩的一个简单示例:
```python
from PIL import Image
import io
def compress_image(input_path, output_path):
# 打开图像文件
with Image.open(input_path) as img:
# 将图像转换为内存IO对象,准备压缩
buffer = io.BytesIO()
img.save(buffer, format='PNG', optimize=True, quality=95) # PNG是常见的无损格式,quality参数用于控制压缩程度,范围从0到100
# 写入压缩后的数据到新路径
with open(output_path, 'wb') as f:
f.write(buffer.getvalue())
# 调用函数,输入原始图片路径,输出压缩后的图片路径
compress_image('input.jpg', 'compressed.png')
```
在这个例子中,我们选择了PNG格式进行无损压缩,`optimize=True`表示启用优化,`quality=95`设置了较高的压缩质量以减小体积。注意,如果原始图片已经是PNG或其他已经高度优化的格式,可能压缩效果不会太大,因为这些格式本身的压缩就已经很高效。
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参数来寻找最佳的平衡点。
阅读全文
相关推荐
















