Обработка изображений. Реализовать пороговый фильтр для ч\б на c#

468
09 ноября 2017, 03:08

Есть черно-белое изображение, представляющее собой двумерный массив, где каждый его элемент - это пиксель (значение от 0.0 до 1.0). Нужно применить к нему пороговый фильтр следующим образом: Замените пиксели ярче порогового значения T на белый (1.0), а остальные на черный (0.0). Пороговое значение найдите так, чтобы:

  • если N — общее количество пикселей изображения, то хотя бы (int)(threshold*N) пикселей стали белыми;
  • белыми стало как можно меньше пикселей.

Написал основной код, но с методом GetTresholdValue() проблемы.

public static double[,] ThresholdFilter(double[,] original, double threshold)
{
        var result = new double[original.GetLength(0), original.GetLength(1)];
        var t = GetTresholdValue();
        Array.Copy(original, result, original.Length);
        for (int i = 0; i < result.GetLength(0); i++)
        {
            for (int j = 0; j < result.GetLength(1); j++)
            {
                if (result[i, j] > t)
                    result[i, j] = 1.0;
                else
                    result[i, j] = 0.0;
            }
        }
        return result;
}

Вопрос: Как одновременно учитывать оба условия?

READ ALSO
Запускать программу для работы с файлом при двойном клике на файл

Запускать программу для работы с файлом при двойном клике на файл

Делаю программу на Windows Forms, которая работает с файлами определённого расширенияПри старте открывается диалоговое окно, где я выбираю нужный...

280
Экспорт таблицы из Excel в Word файл

Экспорт таблицы из Excel в Word файл

Столкнулся с трудностью, нужно экспортировать таблицу из excel файла в wordМожет кто подсказать, как это реализовать? (может быть у кого нибудь...

229
Как создать список с помощью Value Tuple

Как создать список с помощью Value Tuple

Добавил через NuGet SystemValueTuple

231
Читать все txt файлы из папки

Читать все txt файлы из папки

Есть папка, в ней 5 txt файлов, задача софта чтобы он искал строку во всех файлах(пусть показывает файл и строку, которую нашел), пока что у меня...

287