- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我搜索了类似的问题,但没有找到我想要做的解决方案。
我有 16 位灰度图像,我正在尝试将它们放入 keras ImageDataGenerator。当使用像:flow_from_dataframe 这样的函数时,它产生的图像都具有相同的像素值(不正确)。
我尝试使用 keras preprocess_input,使用自定义预处理函数重新缩放到 [0,1],到 [-1,1],但这些都不起作用。我还在 ImageDataGenerator 中设置了 color_mode='grayscale'。
我进一步测试了转换为 8 位,并且成功了。我将 channel 数增加了三倍,这不是问题,因为它仍然可以使用 8 位。我读过在这种情况下 keras 使用 PIL 库读取图像,并且由于它没有正确处理 16 位,因此返回该错误。我看到我们可以设置一个不同的库来加载图像,但我不知道该怎么做。
有人知道使用 16 位图像的替代方法吗?在最后一种情况下,我会尝试自定义生成器,但我真的很想为此目的从已经构建和测试的函数中获利。
我的目标是使用这些图像来微调预训练的网络,所以我想标准化我使用的输入类型。
谢谢。
最佳答案
您可能想编写自己的 ImageDataGenerator并覆盖一些方法以按预期加载数据。
有some great blog articles这解释了你需要的一切。
然后,您必须确保覆盖的 __data_generation
方法加载您的 .tiff
图像正确地转换为 numpy 数组,或者您事先将它们转换并加载它们。
测试您的生成器(做它!)并检查它是否产生您期望的输出也非常简单。
关于keras - 如何让 keras ImageGenerator 正确加载 16 位图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58105563/
我是一名优秀的程序员,十分优秀!