如何在不删除已选图像的前提下从数据集随机选取80个图像,标签为0,定义字典为图像路径和标签,最终的数据集是由字典组成的列表,且每次随机选取的图像不一样
时间: 2024-03-12 08:45:27 浏览: 70
智能识别数据集处理,把数据集划分的图片,对应标签划分
好的,您可以使用以下 Python 代码来实现这个功能:
```python
import os
import random
# 定义图像文件夹路径和标签
image_folder = "/path/to/image/folder"
label = 0
# 获取图像文件夹中所有图像文件的路径
image_paths = [os.path.join(image_folder, f) for f in os.listdir(image_folder) if os.path.isfile(os.path.join(image_folder, f))]
# 随机选择图像文件,并将其路径和标签组成字典
data = []
selected_indexes = set()
while len(data) < 80:
random_index = random.randint(0, len(image_paths)-1)
if random_index not in selected_indexes:
selected_indexes.add(random_index)
random_image = image_paths[random_index]
data.append({"image_path": random_image, "label": label})
# 输出数据
print(data)
```
这段代码会从 `image_folder` 文件夹中随机选取 80 张图像,定义标签为0,并将图像文件路径和标签组成字典,存储在一个列表中。每次选取的图像不一样,确保数据集的多样性。在这个方法中,我们使用了一个集合 `selected_indexes` 来记录已经选取的图像的索引,从而避免重复选取。您可以根据自己的需求修改代码中的参数。
阅读全文