在 C# 中将图像转换为纯黑白的最快方法是什么?

use*_*875 5 .net c# image image-processing

在有人因为我没有检查其他帖子而指责我之前,我已经这样做了。我有一个关于将图像转换为灰度的现有技术的具体问题。

我已经通读了 SO 上的其他帖子,并且基本上从本网站的教程中复制了技术 3(ColorMatrix)。它工作得非常非常快。

我遇到的问题是我需要的是纯 BW 图像。(即:如果平均值(R,B,G)> 200 => 白色否则黑色)。我已经以简单的方式实现了它,实际上它几乎是教程中灰度算法的 10 倍。

我不是图像处理专家,想知道是否有任何方法可以修改教程中的片段以将图像转换为纯黑白。如果没有,任何有效的方法都可以。

编辑:

这是我用于黑白的代码(无脑方法):

public Bitmap make_bw(Bitmap original) {

    Bitmap output = new Bitmap(original.Width, original.Height);

    for (int i = 0; i < original.Width; i++) {

        for (int j = 0; j < original.Height; j++) {

            Color c = original.GetPixel(i, j);

            int average = ((c.R + c.B + c.G) / 3);

            if (average < 200)
                output.SetPixel(i, j, Color.Black);

            else
                output.SetPixel(i, j, Color.White);

        }
    }

    return output;       

}
Run Code Online (Sandbox Code Playgroud)

xan*_*tos 3

读这个,同样的问题:什么是一个好的真正的黑白颜色矩阵?

  • 我“作弊”了一点......看到您链接中的禁食示例使用了 SetColorMatrix 并在 google 上搜索了 SetColorMatrix BW :-) (2认同)