Keras RGB 转灰度

2024-04-05

我想要一个关于在 Keras 中将输入 RGB 图像转换为灰度的最佳方法的规范答案。这个答案 https://stackoverflow.com/questions/43033739/how-to-convert-images-color-space-in-keras暗示也许这样的事情最好用 Lambda 来实现,但对我来说这感觉效率低下。在我看来,这平均池化层 https://keras.io/layers/pooling/#averagepooling2d应该能够做到这一点,但我似乎无法弄清楚。我在文档中是否缺少 RGB 到灰度层?看来这是一个很平常的操作。


有一些公式可以将彩色图像转换为灰度图像。 它们的选择非常明确,选择通常取决于您想要更亮还是更暗的结果、更好的对比度等。

三个常用公式在这里 https://www.johndcook.com/blog/2009/08/24/algorithms-convert-color-grayscale/。让我们采用“光度”公式。

result =  0.21 R + 0.72 G + 0.07 B

这只能通过 lambda 层来实现。这并不是无用的,它只是必要的数学。

def converter(x):

    #x has shape (batch, width, height, channels)
    return (0.21 * x[:,:,:,:1]) + (0.72 * x[:,:,:,1:2]) + (0.07 * x[:,:,:,-1:])

将此 lambda 层添加到模型中:

Lambda(converter)

尽管 AveragePooling 似乎是这样,但这些层的目的是减少“空间”维度,而不是“通道”。您需要大量的解决方法和重塑才能使这些池层之一应用于通道。

如果您更喜欢使用张量流中的现成公式,请再次使用 lambda 层,现在使用此函数,基于您提供的答案:

Lambda(lambda x: tf.image.rgb_to_grayscale(x))

其他选项converter:

#perhaps faster? perhaps slower? 
def converter(x):

    weights = K.constant([[[[0.21 , 0.72 , 0.07]]]])
    return K.sum(x*weights, axis=-1,keepdims=True)

正如斯捷潘·诺维科夫评论的那样。如果您的想法只是预处理图像,您可以使用其他工具并避免麻烦。

仅当跟踪此操作中的梯度对您来说很重要时,您才需要在模型内执行此操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Keras RGB 转灰度 的相关文章

随机推荐

  • 灵活地移动现有领域/行为[重复]

    这个问题在这里已经有答案了 如何将现有字段 IDublinCore rights 移动到特定字段之后的另一个字段集中 无需编写我自己的行为 IDublinCore 的副本 Rights 字段应出现在 image caption 自己的内容类
  • 如何向 QFileSystemModel 添加自定义角色

    我想向 QFileSystemModel 添加自定义角色 可能是派生模型 我想使用此角色来保存复选框的选中状态 该状态显示在自定义委托中的文件名旁边 如何才能做到这一点 我已经使用过使用示例Qt Quick Controls 文件系统浏览器
  • 将 onPostExecute 应用于 onClickListener

    我已经制作了可以使用的程序AsyncTask它在程序执行时打印 JSON 数据列表 但问题是我希望它在按下按钮时执行 我如何得到结果AsyncTask进入我的onClickButtonListener 如何从 onClick 调用 Asyn
  • 如何使用并行插入语句在 MySQL 表中插入巨大的 Pandas Dataframe?

    我正在开发一个项目 其中我必须编写一个包含数百万行和大约 25 列 大部分为数字类型 的数据框 我在用Pandas DataFrame 到 SQL 函数 https pandas pydata org pandas docs version
  • 如何在 Excel 工作表中插入锁定符号

    这个问题在这里已经有答案了 我知道锁符号 的unicode是128275 When I copy this symbol from the browser and paste into excel it appears like this
  • Android API 21 创建自定义主密钥

    我正在尝试创建一个加密的SharedPreferences实施 但给出的例子安卓网站 https developer android com topic security data适用于 API 23 及以上版本 具体来说 问题是使用此代码
  • 什么是双因素身份验证?

    我的任务是寻找和评估一些用于我们的产品之一的身份验证库 某些解决方案推动的销售功能之一是 双因素身份验证 这个方法是什么 它是如何工作的 是否有更好的方法 我猜是三因素身份验证 双因素身份验证是使用两个因素来验证一个人 或有时是一个进程 这
  • 在其他方法中使用 __construct() 中的变量

    我定义了一个新变量 construct 我想在另一个地方使用它function这个的class 但我的变量在另一个函数中是空的 这是我的代码 class testObject function construct global c data
  • 以下 C# 代码出现不一致的可访问性错误。为什么?

    下面的c 代码有什么问题吗 编译器报告此错误 可访问性不一致 参数类型 ClassLibrary1 Interface1 比方法 ClassLibrary1 Class1 Class1 ClassLibrary1 Interface1 的可
  • 如何以编程方式将作业添加到 hudson 的视图中

    我有一个 Java 程序 用于控制一组 hudson 服务器自动生成的作业 使用 hudson 远程 API 创建 删除或更新作业 配置 是没有问题的 我还设法创建哈德逊视图并为哈德逊视图创建一个新作业 但我仍然需要知道如何将现有作业添加到
  • 子集不是基于精确匹配,而是基于 R 中的部分匹配

    这是这里的后续问题 根据前缀和后缀对字符串进行子集化 https stackoverflow com questions 21407361 subsetting a string based on pre and suffix 当你有这个命
  • TinyMCE 4 禁用清理 html

    如何在 TinyMCE 4 x 中禁用 HTML 代码的自动清理 当我从 WORD 复制文本时 TinyMCE 会删除样式 tinyMCE init cleanup false verify html false
  • UIView drawHierarchy 创建黑色图像

    我正在尝试转换我的习惯UIView into UIImage使用核心图形 但有时它会变成黑色 我的整个UIImage看起来像黑色图像 我注意到如果我的身高UIView无论生成的宽度是多少 都超过 4096UIImage会变黑 注1 我的习惯
  • VB6 内存限制

    我目前正在支持一个在多台服务器上运行的 VB6 应用程序 我们正在替换该应用程序 但这是一个缓慢的过程 谁能告诉我VB6进程可以寻址的最大内存量是多少 我们正在使用多种操作系统 Windows Server 2003 32位 Windows
  • 将文件内容存储在数据库中

    我正在制作一个模型 其中我有一个FileField 我想将文件内容存储在数据库列中 而不是文件路径中 有什么建议么 无视那些反对者 如果您想完全控制内容 请将文件放入数据库的 blob 字段中 我通常还将文件名保留在单独的字段中 以便我可以
  • 如何为任何 liquibase 格式的 sql 指定 validchecksum?

    我遇到了 liquibase 的问题 因此 我在其中一个变更集中的 sql 命令中犯了一个错误 现在 每当我尝试升级部署时 升级都会由于校验和错误而失败 所以我想做 validCheckSum ANY 解决方法 但遇到了这个不起作用的问题
  • 为浮点类型重载运算符%

    我试图重载运算符 因为你不能在双精度类型上使用模数 float a 5 0 float b 5 0 a a b not allowed 我试图用这种函数重载运算符 template lt gt MyClass MyClass
  • 为什么 Ruby 的 1000 个哈希键和值对的数组总是按特定顺序排列?

    假设有一个包含 1000 个哈希值的数组 其中的对如下 id gt 1 name gt something created at gt 2010 08 18 当我使用循环打印出这 1000 条记录时 按理说 散列的键 值对顺序无法保证 但打
  • 如何从 django 图像字段到 PIL 图像并返回?

    给定 django 图像字段 如何创建 PIL 图像 反之亦然 简单的问题 但很难谷歌 我将使用 django imagekit 的处理器来旋转已存储为模型属性的图像 edit In 41 m image 1 class Out 41 dj
  • Keras RGB 转灰度

    我想要一个关于在 Keras 中将输入 RGB 图像转换为灰度的最佳方法的规范答案 这个答案 https stackoverflow com questions 43033739 how to convert images color sp