Coverage for dqm/domain_gap/custom_datasets.py: 53%
36 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-05 14:00 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-05 14:00 +0000
1from torch.utils.data import Dataset
2from PIL import Image
3import os
6# Définir une classe de Dataset personnalisée pour charger les images à partir du fichier .txt
7class ImagesWithLabelsDataset(Dataset):
8 def __init__(self, txt_file, transform=None):
9 self.txt_file = txt_file
10 self.transform = transform
12 # Lire le fichier .txt et stocker les chemins d'images et les labels dans des listes
13 self.images = []
14 self.labels = []
15 with open(txt_file, "r") as file:
16 lines = file.readlines()
17 for line in lines:
18 image_path, label = line.strip().split(" ")
19 self.images.append(image_path)
20 self.labels.append(int(label))
22 def __len__(self):
23 return len(self.images)
25 def __getitem__(self, idx):
26 image_path = self.images[idx]
27 label = self.labels[idx]
28 image = Image.open(image_path).convert("RGB") # Ouvrir l'image en mode RGB
29 if self.transform:
30 image = self.transform(image)
31 return image, label
34class ImagesFromFolderDataset(Dataset):
35 def __init__(self, folder_path, transform=None):
36 self.folder_path = folder_path
37 self.transform = transform
38 self.images = os.listdir(self.folder_path)
40 def __len__(self):
41 return len(self.images)
43 def __getitem__(self, idx):
44 image = Image.open(os.path.join(self.folder_path, self.images[idx]))
45 if self.transform:
46 image = self.transform(image)
47 return image