在有人因为我没有检查其他帖子而批评我的之前,我已经做过了。我有一个关于将图像转换为灰度的技术之一的具体问题。
我已经阅读了SO上的其他帖子,并从这个网站的教程中复制了技术3(ColorMatrix)。它非常快速。
我遇到的问题是我需要一个纯BW图像。(即:如果average(R,B,G) > 200 => white else black)。我已经按照直接的方式实现了它,但它实际上需要将近10倍的时间来运行与教程中的灰度算法相比。
我不是图像处理专家,想知道是否有任何方法可以修改教程中的代码片段以将图像转换为纯黑白。如果没有,任何有效的方法都可以。
编辑:
这是我用于黑白(无脑方法)的代码:
我已经阅读了SO上的其他帖子,并从这个网站的教程中复制了技术3(ColorMatrix)。它非常快速。
我遇到的问题是我需要一个纯BW图像。(即:如果average(R,B,G) > 200 => white else black)。我已经按照直接的方式实现了它,但它实际上需要将近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;
}