批量调整图片大小python
时间: 2023-10-14 09:29:36 浏览: 174
可以使用Pillow库来批量调整图片大小。
示例代码:
```python
from PIL import Image
import os
# 设置图片目录
img_dir = "path/to/your/images"
# 设置目标尺寸
new_size = (800, 600)
# 遍历所有图片文件
for filename in os.listdir(img_dir):
# 判断文件类型是不是图片
if filename.endswith(".jpg") or filename.endswith(".png"):
# 打开图片文件
img = Image.open(os.path.join(img_dir, filename))
# 调整图片尺寸
img = img.resize(new_size)
# 保存调整后的图片
img.save(os.path.join(img_dir, filename))
```
上述代码将指定目录下的所有jpg和png图片文件调整为800x600的尺寸。你可以根据自己的需求修改代码中的参数。
相关问题
python 批量压缩图片大小
你可以使用Python中的Pillow库来批量压缩图片大小。
首先,你需要安装Pillow库。你可以使用以下命令来安装:
```
pip install Pillow
```
接下来,你可以使用以下代码来批量压缩图片大小:
```python
from PIL import Image
import os
def compress_images(directory=None, quality=30):
"""
压缩指定目录下的所有图片
:param directory: 图片所在的目录
:param quality: 压缩质量,默认为30
"""
if directory is None:
directory = os.getcwd()
print(f"压缩 {directory} 目录下的所有图片")
for filename in os.listdir(directory):
if filename.endswith(".jpg") or filename.endswith(".jpeg") or filename.endswith(".png"):
filepath = os.path.join(directory, filename)
with Image.open(filepath) as im:
im.save(filepath, quality=quality)
print("完成压缩!")
# 示例
compress_images(directory="/path/to/directory", quality=50)
```
这个函数将遍历指定的目录,找到所有的 `.jpg`, `.jpeg`, 和 `.png` 文件,并将它们压缩到指定的质量级别。你可以根据需要调整 `quality` 参数的值来控制压缩质量。
请注意,这个函数将覆盖原始文件。如果你希望保留原始文件,请在保存压缩文件之前创建一个副本。
python 批量改变图片大小
在Python中,你可以使用PIL(Python Imaging Library)或者其更新版本Pillow库来批量更改图像的大小。以下是使用Pillow库的一个简单示例:
首先,你需要安装Pillow库,如果你还没有安装,可以用pip进行安装:
```bash
pip install pillow
```
然后,你可以编写一个脚本来遍历指定目录下的所有图片文件,并调整它们的大小,例如将其缩放到特定尺寸:
```python
from PIL import Image
def resize_images(input_dir, output_dir, new_size):
for filename in os.listdir(input_dir):
if filename.endswith(('.jpg', '.jpeg', '.png', '.gif')):
img_path = os.path.join(input_dir, filename)
with Image.open(img_path) as im:
resized_img = im.resize(new_size)
output_path = os.path.join(output_dir, filename)
resized_img.save(output_path)
# 使用方法
input_dir = 'path_to_your_input_folder'
output_dir = 'path_to_output_folder'
new_size = (800, 600) # 新的宽度和高度
resize_images(input_dir, output_dir, new_size)
```
在这个例子中,`resize_images`函数会读取输入目录中的每个图片文件,以其原格式保存为新的大小到输出目录。
阅读全文