【发布时间】:2017-06-01 10:33:32
【问题描述】:
我正在像这样使用 keras 的图像生成器:
val_generator = datagen.flow_from_directory(
path+'/valid',
target_size=(224, 224),
batch_size=batch_size,)
x,y = val_generator.next()
for i in range(0,1):
image = x[i]
plt.imshow(image.transpose(2,1,0))
plt.show()
我有两个问题。
如何解决问题
如何获取文件的文件名(这样我就可以自己从 matplotlib 之类的东西中读取)
编辑:这就是我的数据生成的样子
datagen = ImageDataGenerator(
rotation_range=3,
# featurewise_std_normalization=True,
fill_mode='nearest',
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True
)
编辑 2:
按照 Marcin 的回答后:
image = 255 - image
我得到了正常的颜色,但仍然有一些奇怪的颜色:
【问题讨论】:
-
您也可以显示数据生成的代码吗?例如,有一个选项 channel_shift_range。默认情况下它是 0,但如果你将它设置为其他值,它可能会弄乱颜色。
-
我认为你应该拆分这个问题。颜色失真是关于 Keras 的。从目录中获取文件名完全是一个不同的问题。这只是 python 标准库。
-
也就是说:我非常喜欢 glob 模块。 glob.glob("path/*.png") 将返回目录中所有 .png 文件的列表
-
看看。 @ihk 我想要 datagen 处理的文件名,而不仅仅是目录中的文件
-
我明白了。我仍然认为这应该是两个独立的问题
标签: python image matplotlib neural-network keras