帮我编写代码,把D:\源码\DownLoad_Linux\output_D\路径中的所有图片,他们的尺寸不定,全部放缩到512*512大小
时间: 2024-10-14 10:12:42 浏览: 23
当然可以,这是一个基本的Python代码示例,使用了PIL(Python Imaging Library)库来处理图片并调整它们的大小。这个例子假设图片位于`D:\源码\DownLoad_Linux\output_D`目录及其子目录下:
```python
from PIL import Image
def resize_images(input_dir, output_dir, target_size=(512, 512)):
# 判断目标输出目录是否存在,不存在则创建
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for dirpath, _, filenames in os.walk(input_dir):
for filename in filenames:
if filename.endswith(('.jpg', '.jpeg', '.png', '.gif')):
img_path = os.path.join(dirpath, filename)
try:
with Image.open(img_path) as im:
# 调整图片大小并保存
resized_im = im.resize(target_size, Image.ANTIALIAS)
new_img_path = os.path.join(output_dir, filename)
resized_im.save(new_img_path)
print(f"Resized and saved {filename} to {new_img_path}")
except IOError as e:
print(f"Error occurred while resizing {img_path}: {e}")
# 使用函数
resize_images("D:\\源码\\DownLoad_Linux\\output_D", "D:\\源码\\DownLoad_Linux\\output_D_resized")
```
这个脚本会遍历指定输入目录下的所有.jpg, .jpeg, .png, 和.gif文件,并将它们调整为512x512像素。注意,如果原始图片已经足够小或者高度宽度之一小于512,则不会改变其大小。
阅读全文