【问题标题】:Finding "green" pixels in bitmap在位图中查找“绿色”像素
【发布时间】:2014-04-19 15:29:36
【问题描述】:

我所拥有的:一个接收 BitmapImage 并为 ARGB 值创建矩阵的类。

我想要什么:识别特定类型的图片。这张图片的中心总是有一个绿色的椭圆形。但有时,它是浅绿色,有时是深绿色,有时是几种绿色的混合,有时带有阴影。

问题:关于 ARGB 值,究竟什么可以算作“绿色”?

更新:

计算到纯绿色 (0,255,0) 的距离似乎是一个不错的方法。但是如何以一种好的方式做到这一点呢?

【问题讨论】:

  • 我会说你需要计算你所拥有的和“纯绿色”之间的距离并指定一个阈值。如果差值低于此阈值,则您接受为“绿色”。
  • “距离”是指红色和蓝色的总和?也许你可以把这个写成答案?
  • 距离可以根据需要精确。我没有最新的颜色比较,所以请参阅this question 让你开始。
  • “纯绿色”不是重点。选择 0,255,0,深绿色斑点的距离可能比蓝绿色斑点更远。
  • 那么:什么是“纯绿色”? ^^ 我会看看链接。谢谢

标签: c# image image-processing colors


【解决方案1】:

“计算到纯绿色 (0,255,0) 的距离似乎是一个不错的方法。”

不要进入这个兔子洞。您不能(或至少不应该)将毕达哥拉斯应用于 RGB 颜色空间以获得“距离”。

您应该注意的是转换为不同的色彩空间。 HSL 很好,因为它为颜色提供了一个单一的值,即色调。然后,您可以定义可接受的“绿色”范围并忽略饱和度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    • 2018-06-27
    • 2015-04-30
    • 2019-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多