【发布时间】:2020-01-09 04:23:29
【问题描述】:
我正在将两个包含图像的不同数据集合并到一个数据集中。其中一个数据集包含训练集中的 600 张图像。另一个数据集仅包含 90-100 张图像。我想通过使用imgaug library 来增加后一个数据集的大小。图像存储在其类名称下的文件夹中。所以训练集中“蛋糕”图像的路径是..//images//Cake//cake_0001。我正在尝试使用此代码来扩充此数据集中的图像:
path = 'C:\\Users\\User\\Documents\\Dataset\\freiburg_groceries_dataset\\images'
ia.seed(6)
seq = iaa.Sequential([
iaa.Fliplr(0.5),
iaa.Crop(percent=(0, 0.1)),
iaa.Affine(rotate=(-25,25))
], random_order=True)
for folder in os.listdir(path):
try:
for i in os.listdir(folder):
img = imageio.imread(i)
img_aug = seq(images=img)
iaa.imshow(img_aug)
print(img_aug)
except:
pass
现在没有输出,即使我输入print(img) 或imshow(img) 或任何东西。如何确保我获得了更多用于此数据集的图像?另外,增强图像的最佳位置是什么?增强图像存储在哪里?如何查看生成了多少新图像?
【问题讨论】:
-
现在没有输出...程序是什么都不打印,还是从不打印?
-
它永远不会在
for i in os.listdir(folder):循环中打印。即使我只是输入print('something'),它也不会打印。我使用相同的语法重命名代码的另一部分中的所有文件,并正确重新格式化它们,所以我不确定它为什么在这里失败 -
那个 try-except 是为了什么?您是否尝试过检查它是否因为抛出异常而永远无法打印?事实上,你确定 for 循环是否正确迭代?
-
由于图像存储在其类的文件夹中,因此 try-except 确保在遇到新文件夹而不是图像时不会引发错误。当我使用 for 循环而不是 try 循环时,我从文件夹中收到错误消息。当我在代码的另一部分使用相同的 try-except 循环时,它会正确地遍历它。我不确定为什么它在这里不起作用?
-
一个小疑问!你的路径(位置)是否正确?
标签: python machine-learning data-augmentation