微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

algorithm – 如何将RGB代码转换为8个简单的间隔(可能吗?)

我正在攻读计算机科学的最终学士学位项目,现在我已经走到了尽头.
这是我被困在的东西:

我试图用任何8种(8种)简单颜色对任何颜色(rgb代码)进行分类.
简而言之,我需要找到可以放置任何颜色的8个间隔,并将其视为基本颜色(红色,蓝色,绿色,黑色,黄色,紫色,灰色,棕色).

示例:(18,218,23)被归类为“绿色”
          (81,214,85)也是“绿色”
            但
           (15,52,16)需要“黑”
           (110,117,110)需要“灰色”

所以有256 x 256 x 256种可能的颜色,我需要将它们分成8种(间隔)基本颜色.

我在等一些建议.

干杯!

要清楚(正如我在评论中看到的)我正在寻找一组特定的8种颜色(红色,棕色,黄色).对不起上面的橙色!

解决方法

根据您的示例,我首先要确定所有组件是否大致相同,还是脱颖而出.如果它们大致相同,那么确定这些值是否足够小而不是黑色,那么它是灰色的.如果一个值与另外两个值不同,则很容易检查哪个值不同并相应地选择六种可能颜色中的一种.

或者,根据阈值将每个组件设置为0或1,然后您有8个组合映射到8种颜色.

threshold = 100:
(18,23)   -> (0,1,0) - to be classified as "green"
(81,85)   -> (0,0) - also "green"
(15,16)    -> (0,0) - to be "black"
(110,110) -> (1,1) - to be "grey"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。