如何用python代码修改文件夹中的图像尺寸并对文件夹中对应的json标签文件坐标修改,最后保存所有修改后的信息
时间: 2024-02-06 09:04:30 浏览: 56
可以使用Python中的Pillow库来修改图像尺寸,并使用json库来读取和保存json标签文件。
下面是一个示例代码,可以将指定文件夹中的所有图像尺寸修改为256x256,并且对应的json标签文件中的坐标也会相应修改:
```python
import os
import json
from PIL import Image
# 定义图像目录和目标尺寸
image_dir = 'path/to/image/folder'
target_size = (256, 256)
# 遍历图像目录中的所有文件
for filename in os.listdir(image_dir):
if filename.endswith('.jpg'):
# 读取图像文件
image_path = os.path.join(image_dir, filename)
image = Image.open(image_path)
# 修改图像尺寸
resized_image = image.resize(target_size)
resized_image.save(image_path)
# 修改对应的json标签文件
json_path = os.path.join(image_dir, filename.replace('.jpg', '.json'))
with open(json_path, 'r') as f:
json_data = json.load(f)
# 修改所有坐标值
for obj in json_data['objects']:
for key in ['x', 'y', 'width', 'height']:
obj['bbox'][key] *= target_size[0] / image.width
# 保存修改后的json标签文件
with open(json_path, 'w') as f:
json.dump(json_data, f)
```
需要注意的是,该代码假设所有图像文件的文件名都以`.jpg`结尾,并且对应的json标签文件的文件名与图像文件名相同,只是后缀不同。如果你的情况不同,需要相应地修改代码。
阅读全文