python图像横向压缩
时间: 2023-05-22 13:05:57 浏览: 69
可以使用Pillow库中的resize()方法来实现图像的横向压缩。您可以在代码中导入Pillow库,然后使用以下代码实现横向压缩:
from PIL import Image
img = Image.open('image.jpg') # 打开图片
width, height = img.size # 获取原图片的尺寸
new_height = int(height * 0.5) # 压缩后的高度
new_width = int(width * 0.5) # 压缩后的宽度
img = img.resize((new_width, new_height), Image.ANTIALIAS) # 使用resize()方法压缩图片
img.save('compressed_image.jpg') # 保存压缩后的图片为compressed_image.jpg
以上代码将原本的图片横向压缩至50%的宽度。如果需要将图片的纵向压缩,可以将代码中的new_height修改为压缩后的高度即可。
相关问题
python图像文件压缩7.2
Python 中可以使用 Pillow 库来处理图像文件压缩。Pillow 是 Python 中一个非常流行的图像处理库,支持各种图像格式的读取和处理,包括但不限于 JPEG、PNG、GIF 等等。以下是一个基于 Pillow 库的图像文件压缩的示例代码:
```python
from PIL import Image
def compress_image(infile, outfile):
try:
with Image.open(infile) as im:
im.save(outfile, optimize=True, quality=72)
except OSError:
print("cannot compress", infile)
# 使用示例
compress_image("input.jpg", "output.jpg")
```
以上代码中,`compress_image` 函数接受两个参数,分别是输入文件路径和输出文件路径。在函数中,我们使用 `with` 语句打开输入文件,并使用 `save` 方法将其保存为输出文件。`optimize=True` 参数表示启用优化,`quality=72` 参数表示设定压缩质量为 72。
如果要对多个文件进行压缩,可以使用 `os` 模块遍历目录,并对每个图像文件调用 `compress_image` 函数。例如:
```python
import os
def compress_images_in_folder(folder):
for dirpath, dirnames, filenames in os.walk(folder):
for filename in filenames:
if filename.lower().endswith(".jpg") or filename.lower().endswith(".jpeg"):
infile = os.path.join(dirpath, filename)
outfile = os.path.join(dirpath, "compressed_" + filename)
compress_image(infile, outfile)
# 使用示例
compress_images_in_folder("/path/to/folder")
```
以上代码中,`compress_images_in_folder` 函数接受一个参数,即要进行压缩的目录路径。函数使用 `os.walk` 遍历目录下的所有文件和子目录,并对每个后缀名为 `.jpg` 或者 `.jpeg` 的文件调用 `compress_image` 函数,将压缩后的文件保存在原目录下,并添加前缀 "compressed_"。
python图像压缩
对于Python图像压缩,你可以使用PIL(Python Imaging Library)库来实现。以下是一个基本的示例代码:
```python
from PIL import Image
def compress_image(input_image_path, output_image_path, compress_rate=75):
image = Image.open(input_image_path)
image.save(output_image_path, optimize=True, quality=compress_rate)
# 示例用法
input_path = "input_image.jpg"
output_path = "compressed_image.jpg"
compress_image(input_path, output_path)
```
在上面的示例中,`compress_image`函数接受输入图像路径、输出图像路径和压缩率作为参数。通过使用`Image.open`打开图像文件,然后使用`save`方法将图像保存为输出路径指定的文件时,可以通过设置`optimize`参数为True来启用优化,`quality`参数用于指定压缩率,它的取值范围是0-100,100表示无损压缩。
请注意,这里的压缩并不会改变图像的尺寸,只会减少图像文件的大小。如果你想压缩图像尺寸,你可以使用PIL库的`resize`方法来调整图像的宽度和高度。