gpt4 book ai didi

c# - 我怎样才能将颜色与已知集合进行比较?

转载 作者:太空宇宙 更新时间:2023-11-03 15:13:49 25 4
gpt4 key购买 nike

给定一张台球图像,我想知道它是什么球。球的颜色是众所周知的,并且不会经常偏离一些已知的异常(exception)。但识别特定球的最佳方式是什么?

我的方法是,给定一张我们知道只包含台球(没有背景等)的图片,将每个像素映射到我们期望台球的已知颜色。理想情况下,此映射将永远只有白色(所有球都有一些白色)、黑色(甚至更少的黑色,用于书写,除了 8 球)和决定其编号的球的颜色。所以对于第 2 个球,我预计可能有 90% 的红色、7% 的白色和 3% 的黑色,给或取。该方法取得了一些成功。

问题是如何将像素的颜色正确映射到一种已知颜色。仅色调对大多数人来说效果很好,但对于某些人(粉色 4 + 红色 3),色调可以相同,但饱和度不同。

我觉得我可以为此制定自己的一套规则,并调整一段时间,但我想看看是否有更好的选择。我试过 CIE76 的实现,但结果令人失望。我不想自己实现一个已知算法,但如果有一个对程序员友好的很好的解释,我可以。

建议、想法或资源?

最佳答案

根据评论:DeltaE(CIE76 和变体)在更大的样本量下效果更好。我最初的想法是我会找到球的“真实”颜色,并尝试使用它而不是有很多在照明下变化的样本,但事实证明这是无效的,尽管如果可以考虑照明本身,它有可能。

最后我确实找到了一个名为Colourful 的c# 库。 ,在 nuget 上可用,它非常易于使用并且看起来写得很好。 RGB -> Lab 转换代价高昂,因此尽可能进行预处理。

关于c# - 我怎样才能将颜色与已知集合进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39891880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com