if(pixel.R> 0)无法正常工作

时间:2014-10-06 10:22:55

标签: c#

我在仅具有黑/白值的图像上使用以下代码,以便如果颜色为黑色则应计算,但不知何故,以下if语句不起作用。它是正确写的还是我只是在这里使用一个好的逻辑

for (int y = 0; y < image.Height; y++)
            {   Color pixel = image.GetPixel(x, y);
                if(pixel.R>0){
                    //some code here
                }
        }

1 个答案:

答案 0 :(得分:4)

假设没有透明度,请尝试

if(pixel == Color.Black)
    ....

pixel.R>0只检查颜色的Red组件。0Black。)


对于条形码,最好使用一些阈值来区分颜色,例如:

int threshold = (255 + 255 + 255) / 2;
if (pixel.R + pixel.G + pixel.B < threshold)
    ....