你能用python写一个图片压缩程序么?
时间: 2023-01-11 09:55:36 浏览: 41
是的,可以使用 Python 写一个图片压缩程序。Python 提供了许多图像处理库,如 Pillow、OpenCV 等,可以用来读取、修改和保存图片。
下面是一个使用 Pillow 库的简单示例,可以将一张图片的质量压缩到指定的百分比:
```python
from PIL import Image
# 读取图片
image = Image.open("input.jpg")
# 设置压缩质量(取值范围是 0~100)
quality = 75
# 保存压缩后的图片
image.save("output.jpg", quality=quality)
```
还可以使用 OpenCV 库来实现图片压缩。例如,可以使用 cv2.imwrite() 函数将图片压缩到指定的文件路径,并指定压缩参数(如质量、压缩算法等)。
下面是一个使用 OpenCV 库的简单示例,可以将一张图片的质量压缩到指定的百分比:
```python
import cv2
# 读取图片
image = cv2.imread("input.jpg")
# 设置压缩质量(取值范围是 0~100)
quality = 75
# 保存压缩后的图片
cv2.imwrite("output.jpg", image, [cv2.IMWRITE_JPEG_QUALITY, quality])
```
希望这些信息对你有帮助。
相关问题
python写一个程序将图片压缩编码后的数据存为img.my
我可以回答这个问题。您可以使用Python的Pillow库来压缩和编码图像数据,并将其保存为文件。以下是一个示例代码:
```python
from PIL import Image
# 打开图像文件
img = Image.open('example.jpg')
# 压缩和编码图像数据
img_data = img.tobytes()
# 将图像数据保存为文件
with open('img.my', 'wb') as f:
f.write(img_data)
```
这个程序将打开名为"example.jpg"的图像文件,将其压缩和编码为字节数据,并将其保存为名为"img.my"的文件。您可以根据需要修改文件名和路径。
应c++写一个图片压缩程序
以下是一个简单的图片压缩程序的代码:
```python
from PIL import Image
def compress_image(infile, outfile, quality=75):
try:
with Image.open(infile) as im:
im.save(outfile, optimize=True, quality=quality)
return True
except Exception as e:
print(e)
return False
```
上述代码使用了Python的Pillow库来处理图像。其中,传入的参数`infile`是待压缩的图片文件名,`outfile`是压缩后的图片文件名,`quality`是压缩质量,取值范围为0~100,默认为75。
在程序中,我们首先使用`Image.open`打开待压缩的图片,然后使用`save`方法将图片保存为指定的输出文件。参数`optimize`表示是否启用优化,`quality`表示压缩质量。最后返回`True`表示压缩成功,返回`False`表示压缩失败。
如果要批量压缩图片,可以使用以下代码:
```python
import os
def batch_compress_image(input_dir, output_dir, quality=75):
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for root, dirs, files in os.walk(input_dir):
for filename in files:
output_file = os.path.join(output_dir, filename)
compress_image(os.path.join(root, filename), output_file, quality)
```
上述代码使用了Python的os库来遍历指定目录下的所有文件,然后对每个文件调用`compress_image`函数进行压缩,最终将压缩后的结果保存到指定的输出目录中。
使用该程序可以方便地对大量图片进行批量压缩,以节省存储空间和加快图片加载速度。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)