我有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 ;
我可以读取红色像素,但我只想要黑色像素。
答案 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)