如何判断RGB颜色基本上是蓝色的?在c#中

我有一组天空图像,一些有云,有些没有.

有些是晴朗的蓝天,有些是阴天,有些是白色和灰色的云.

如何确定特定的RGB值或多或少是蓝色?

任何蓝色的阴影都是“蓝色” – 浅蓝色,深蓝色,天蓝色 – 这些都是蓝色的.

我希望将图像中的颜色减少到16个.然后我想制作白色,银色,灰色,蓝色和“其他所有”的直方图.

我如何从RGB值知道什么是蓝色或银色,白色或灰色,还是其他什么?

解决方法

RGB不是最适合这类事情的色彩空间.诸如 HSV (also known as HSB)的颜色空间为给定颜色提供了更直观和描述性的模型.

因此,为了得到你所拥有的,你可以使用给定颜色的色调.如果您正在处理System.Drawing.Color结构,则可以使用GetHue()方法返回以度为单位的色调值.给定如下的Hue轮,您可以定义您将接受的Blue值的上限和下限(以度为单位).

一般来说,图像处理和色彩理论远非琐碎的主题.我建议你找到最符合你要求的方法.这对你来说可能已经足够,或者可能不是.如果没有,那么也许你可以缩小我的问题.

还要意识到亮度和饱和度组件仍然需要一些阈值,以确保您实际上不处理黑色,白色或灰色.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效