我有一组灰度png图像,分为两个目录。根据文档,我使用了来自目录的image\u dataset\u将它们作为数据集对象加载。当我使用element_spec检查加载的内容时,它显示图像有3个通道:
from tensorflow.keras.preprocessing import image_dataset_from_directory
Dataset = image_dataset_from_directory('path/to/files')
Dataset.element_spec
返回:
Found 14000 files belonging to 2 classes.
(TensorSpec(shape=(None, 256, 256, 3), dtype=tf.float32, name=None), TensorSpec(shape=(None,), dtype=tf.int32, name=None))
使用MATLAB将图像保存为灰度PNG,我已使用Linux命令文件确认它们为灰度:
$ file path/to/files/class_1/file_1.png
path/to/files/class_1/file_1.png: PNG image data, 256 x 256, 8-bit grayscale, non-interlaced
编辑:
有关使用identify(来自ImageMagick)在磁盘上创建文件的更多信息:
$ identify -verbose path/to/files/class_1/file_1.png
Image: AI_Optrap/Samples/Set4/relaxed/HL60_normoxia_1_1.png
Format: PNG (Portable Network Graphics)
Mime type: image/png
Class: PseudoClass
Geometry: 256x256+0+0
Units: Undefined
Type: Grayscale
Base type: Grayscale
Endianess: Undefined
Colorspace: Gray
Depth: 8-bit
Channel depth:
gray: 8-bit
Channel statistics:
Pixels: 65536
Gray:
min: 0 (0)
max: 255 (1)
mean: 135.92 (0.533021)
standard deviation: 36.3709 (0.142631)
kurtosis: 1.51412
skewness: 0.035325
entropy: 0.87207
Colors: 256
默认情况下,
image_dataset_from_directory
转换为3个通道。请看documentation:所以只要用这句话:
现在,您的图像将转换为
(None, 256, 256, 1)
相关问题 更多 >
编程相关推荐