我能够从照片中捕捉颜色的RGB值,但我希望能够通过编程检测该颜色是红色、橙色、黄色、绿色、蓝色、紫色、棕褐色还是白色或黑色。
所以我需要指定返回的RGB范围,例如,红色的值。。。或者蓝色。。。等等我现在有类似的东西,但它不包括所有可能的RGB品种。
红色
R=255,克
R=255,G=0,B
橙色
R=255,克
R=240,G=255,B=0
等等
有人知道如何获取任何RGB值,并检测它是红色、橙色、黄色、绿色、蓝色、紫色、棕褐色、白色还是黑色的值吗?
这很难决定,即使对人类也是如此。我会把rgb值看作是3d颜色的房间。只需给出一些颜色(红色:255,0,0,…)假设x的欧几里得距离内的所有物体都是相同的颜色。
距离(红色,颜色)=sqrt(红色.r-颜色.r)^2(红色.g-颜色.g)^2(红色.b-颜色.b)^2)
或者测量所有距离,得到最短的颜色。
我认为这种分类取决于人。例如,我的很多男性朋友(我也是其中之一)只有几种颜色(红、蓝、绿、黄),而我的很多女性朋友至少有20个单词代表粉色。即使我们忽略了这一点,并决定坚持较小数量的价值观,但如果某个东西是红色或棕色的,或者某个东西是紫色或粉色的,我们经常会争吵。如果人类不能给出一个明确的答案,那么你就无法教计算机这样做。
也就是说,你的问题实际上是一个聚类/分类算法,有很多算法可以解决它。我建议使用某种类型的神经网络(例如,使用3个输入神经元的反向传播——红色、绿色和蓝色)。不过,你还需要很多例子——例如,提供颜色及其分类(该颜色为蓝色等)。即使你决定使用另一种算法,你仍然需要提供一个教育性的集合——一组你已经分类的例子,这个集合包含的例子越多,分类就会越好。
由于人类感知的工作方式,从RGB值计算颜色的视觉相似性是困难的。一种流行的方法是CIE 2000。有一些实现它的库可用,例如python-Color数学。然后,您可以简单地比较每种颜色的颜色距离(您可以在此处找到常见颜色名称的合理RGB值),并选择距离最小的颜色。
问题内容: 我将C#与SMO一起使用,并尝试检测要连接到的SQL Server版本(例如,企业版,标准版)。我知道如何获取版本信息,但这只能告诉我SQL Server的版本(例如,SQL Server 2008与SQL Server 2005)。 有谁知道如何获得实际的产品版本(例如,企业版,标准版)? 我需要此信息,因为某些SQL Server功能只是企业级的。因此,我可以尝试调用它们并捕获异常
我已经读过一些关于颜色的线程,但所有这些线程都必须通过style.xml进行设置。 现在我用这个来确定颜色。 是否可以不使用XML,例如使用代码来更改SwitchCompat/Checkbox的颜色?
问题内容: 我在Java中有一个缓冲的图像,我想根据颜色值记录每个像素与另一个像素的相似程度。因此具有“相似”颜色的像素将具有较高的相似度值。例如,红色和粉红色的相似度值为1000,但是红色和蓝色的相似度为300或更小。 我怎样才能做到这一点。当我从缓冲的图像像素获得RGB时,它返回一个负整数,我不确定该如何实现它。 问题答案: 首先,如何获得整数值? 获得RGB值后,您可以尝试 ((r2-r1)
我正在尝试通过代码更改白色标记图像的颜色。我已经阅读了下面的代码应该改变颜色,但我的标记仍然是白色的。 我错过了什么吗?有没有其他方法可以更改位于我的res文件夹中的可绘制对象的颜色?
我正在编辑以使问题更简单,希望这有助于获得准确的答案。 假设我有以下形状: 如何从一个活动类中以编程方式设置颜色?
问题内容: 我已经看到这个问题问过其他平台/语言-有什么想法吗?我想做类似的事情: 我希望能够在调试时切换键盘输入作为脚本的开始,这样我就可以花点时间启动chrome来监听我的节点检查器端口。 ***快速更新-我猜我实际上可以使用“ process.argv”来检测–debug是否传入。这是最佳/正确的方法吗? 问题答案: 在调试模式下运行时,NodeJS创建一个全局对象: 因此,可能的解决方案是