对图片形式的数据集进行读取,划分为训练集和测试集
时间: 2024-02-03 20:04:14 浏览: 63
对于图片形式的数据集,可以使用Python中的PIL库进行读取和处理。以下是一个简单的代码示例,演示如何将数据集划分为训练集和测试集:
``` python
from PIL import Image
import os
import random
# 设置数据集路径和划分比例
data_path = 'path/to/dataset' # 数据集路径
train_ratio = 0.8 # 训练集比例
# 获取所有图片的路径列表
image_paths = [os.path.join(data_path, f) for f in os.listdir(data_path) if f.endswith('.jpg')]
# 打乱图片顺序
random.shuffle(image_paths)
# 划分训练集和测试集
train_size = int(len(image_paths) * train_ratio)
train_image_paths = image_paths[:train_size]
test_image_paths = image_paths[train_size:]
# 读取图片并保存到指定路径
for i, image_path in enumerate(train_image_paths):
image = Image.open(image_path)
image.save(os.path.join('path/to/train', f'{i}.jpg'))
for i, image_path in enumerate(test_image_paths):
image = Image.open(image_path)
image.save(os.path.join('path/to/test', f'{i}.jpg'))
```
在上述代码中,我们首先获取了所有以'.jpg'结尾的图片路径,然后打乱了图片顺序。接着,我们按照指定的训练集比例划分了训练集和测试集,并将它们保存到指定的路径下。最后,我们使用PIL库读取了图片,并将其保存到指定路径下。
阅读全文