从图像中读取黑色像素

时间:2014-07-14 13:40:23

标签: c# colors rgb

我有125 * 25黑白.png图片。我想读黑色像素。用于LED显示屏。我能怎么做?在c#。

for (int i = 0; i < image.Height ; i++)
{
    for (int j = 0; j < image.Width  ; j++)
    {
        Color c = image.GetPixel(j, i);      //
        x = c.R ;

我可以读取红色像素,但我只想要黑色像素。

1 个答案:

答案 0 :(得分:6)

您可以通过多种方式实现这一目标:

  • 您自己使用的方式,检查各个RGB值是否等于黑色:

    if (c.R == 0 && c.G == 0 && c.B == 0)
    
  • 检查亮度是否为零:

    if (c.GetBrightness() == 0)
    
  • 或检查颜色是否等于另一种颜色:

    if (c.Equals(Color.Black))
    

可能还有一些。

但是,如果使用图像,则不能保证颜色完全是黑色,尤其是使用照片或压缩图像时。您可以使用阈值来解决此问题,您必须(凭经验)确定该阈值。实现这样一个门槛的一种方法:

if (c.R < 30 && c.G < 30 && c.B < 30)

或喜欢

if (c.GetBrightness() < 0.2)