До того, как кто-то осудил меня за то, что я не проверял другие посты, я уже сделал это.У меня есть конкретный вопрос об одном из методов, которые существуют для преобразования изображения в градации серого.
Я прочитал другие посты по SO и в основном скопировал технику 3 (ColorMatrix) из учебного пособия на thisсайт .Работает очень и очень быстро.
Проблема, с которой я столкнулся, заключается в том, что мне нужно чистое черно-белое изображение.(то есть: если среднее (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;
}