西红柿叶片病虫害分类数据集,1.4GB,超过2万张图像,共11大类别分类,分别为
Late blight - 晚疫病
Healthy - 健康
Early blight - 早疫病
Septoria leaf spot - 嫌气性叶斑病
Tomato yellow leaf curl virus - 番茄黄叶卷曲病毒
Bacterial spot - 细菌斑点病
Target spot - 靶斑病
Tomato mosaic virus - 番茄花叶病毒
Leaf mold - 叶霉病
Spider mites (Two-spotted spider mite) - 蜘蛛螨(双斑蜘蛛螨)
Powdery mildew - 白粉病
西红柿叶片病虫害分类数据集介绍
数据集概览
这是一个针对西红柿叶片病虫害分类的数据集,包括晚疫病、健康、早疫病等11个类别,总计超过2万张图像,数据量约为1.4GB。该数据集适用于训练和评估图像分类模型。
数据集特点
- 大规模: 总计超过2万张图像,适合用于深度学习模型的训练。
- 多类别: 共有11个不同的病虫害类别。
- 高质量: 所有的图像都是高清拍摄,可以清晰地识别出各种病虫害特征。
数据集结构
假设数据集文件夹结构如下:
tomato_leaf_dataset/
├── images/
│ ├── train/
│ ├── val/
│ └── test/
├── labels.csv
└── data.yaml
images/
目录下存放所有图像文件。labels.csv
文件存储了每个图像所属的类别。data.yaml
文件定义了数据集的配置信息。
data.yaml
文件示例
# data.yaml
train: ./images/train
val: ./images/val
test: ./images/test
nclasses: 11
请注意,这里的nclasses
参数设置为11,表示有11个类别。
labels.csv
示例
image_name,category
image1.jpg,Late blight
image2.jpg,Healthy
...
关键代码示例
以下是一段Python代码示例,展示如何加载和查看数据集中的部分图像及其对应的类别:
import os
import pandas as pd
import matplotlib.pyplot as plt
from PIL import Image
def load_image(image_path):
"""
加载图片。
Parameters:
image_path (str): 图片路径。
Returns:
img (PIL.Image): 加载的图片。
"""
img = Image.open(image_path)
return img
def visualize_image(img, category):
"""
显示图片及其对应的类别。
Parameters:
img (PIL.Image): 图片。
category (str): 图片的类别。
"""
fig, ax = plt.subplots(1, figsize=(12, 12))
ax.imshow(img)
ax.set_title(category)
ax.axis('off')
plt.show()
if __name__ == "__main__":
data_dir = "/path/to/your/dataset"
train_images_dir = os.path.join(data_dir, "images/train")
train_labels_file = os.path.join(data_dir, "labels.csv")
df_labels = pd.read_csv(train_labels_file)
image_name = df_labels.iloc[0]['image_name'] # 选择第一行的图像
category = df_labels.iloc[0]['category']
image_path = os.path.join(train_images_dir, image_name)
img = load_image(image_path)
print(f"Image name: {image_name}")
print(f"Category: {category}")
visualize_image(img, category)