C# 从图像中读取黑色像素

C# 从图像中读取黑色像素,c#,colors,rgb,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 ; 我可以读取红色像素,但我只需要黑色像素。有很多方法可以实现这一点: 您自己使用

我有一张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 ;

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

有很多方法可以实现这一点:

您自己使用的方式,检查单个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)

那么x=c.R