Есть черно-белое изображение, представляющее собой двумерный массив, где каждый его элемент - это пиксель (значение от 0.0 до 1.0). Нужно применить к нему пороговый фильтр следующим образом: Замените пиксели ярче порогового значения T на белый (1.0), а остальные на черный (0.0). Пороговое значение найдите так, чтобы:
(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;
}
Вопрос: Как одновременно учитывать оба условия?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости