python 批量修图
时间: 2023-07-09 17:44:55 浏览: 255
你可以使用Python中的Pillow库来批量修图。以下是一个简单的示例代码:
```python
from PIL import Image
import os
# 设置目录路径和新文件夹路径
directory = "path/to/images"
new_directory = "path/to/new/images"
# 遍历目录中的所有文件
for filename in os.listdir(directory):
if filename.endswith(".jpg") or filename.endswith(".png"):
# 打开图片文件
img = Image.open(os.path.join(directory, filename))
# 进行图像处理操作
# ...
# 保存修改后的图片到新的文件夹中
new_filename = os.path.join(new_directory, filename)
img.save(new_filename)
print("批量修图完成!")
```
你可以在上面的代码中添加你需要进行的图像处理操作,例如调整大小、改变亮度、对比度等等。
相关问题
python 批量读取图片PIL
在Python中,使用Pillow库(PIL的分支)批量读取图片通常涉及遍历文件夹并逐张打开图片。以下是一个简单的示例,展示如何使用PIL的`Image`模块批量读取目录下的所有图片:
```python
from PIL import Image
import os
def batch_read_images(directory):
images = []
for filename in os.listdir(directory): # 遍历指定目录
if filename.endswith(('.jpg', '.png', '.jpeg')): # 检查文件是否为图片
try:
img = Image.open(os.path.join(directory, filename)) # 打开图片
images.append(img) # 将图片添加到列表
except Exception as e:
print(f"无法打开文件 {filename}: {e}")
return images
directory_path = "your_image_directory" # 替换为你需要读取图片的路径
images_list = batch_read_images(directory_path)
```
在这个例子中,我们首先导入了所需的模块,然后定义了一个函数`batch_read_images`,它接受一个目录作为输入。通过`os.listdir`获取目录中的所有文件名,然后判断每个文件是否是图片(这里是通过检查文件扩展名)。如果是图片,就尝试使用`Image.open`打开,如果失败则打印错误信息。
python批量处理图片
对于Python批量处理图片,可以使用Python中的Pillow库或OpenCV库。下面是一个使用Pillow库来批量处理图片的例子:
```python
from PIL import Image
import os
# 定义图片目录路径
img_dir = "/path/to/images/"
# 循环遍历图片目录中的所有图片
for filename in os.listdir(img_dir):
# 检查文件是否为图片
if filename.endswith(".jpg") or filename.endswith(".jpeg") or filename.endswith(".png"):
# 打开图片
img = Image.open(os.path.join(img_dir, filename))
# 对图片进行处理
img = img.resize((800, 600))
img = img.rotate(90)
# ...
# 保存处理后的图片
img.save(os.path.join(img_dir, filename))
```
这个例子中,我们首先遍历了指定目录下的所有文件,判断文件是否为图片。然后使用Pillow库打开图片,对图片进行处理,最后保存处理后的图片。
使用OpenCV库也可以实现类似的功能,不过需要注意的是OpenCV库处理的是numpy数组,需要将Pillow库加载的图片转换成numpy数组。
阅读全文