Если вы столкнулись с проблемой и хотите поделиться своим опытом, знаниями или у вас есть интересная статья с иностранного сайта, предложение новой темы, статью которую Вы хотите видеть в ближайшем будущем, расскажите нам об этом и мы обязательно поделимся этими знаниями со всеми. Возможно, для других ваши знания, опыт и советы окажутся очень ценными и помогут вовремя найти правильный выход или не совершить ошибок. Так же если у вас есть предложение о сотрудничестве, пожелания, указать на нарушения сайта или просто сказать слова благодарности, все это вы можете сделать через форму обратной связи. Читать дальше
20 сент. 2012 г.
Создание гистограммы изображения с помощью C # и WPF
В этой инструкции, рассмотрим как построить RGB гистограммы в C # и как отобразить их, используя не более, чем стандартные WPF UIElement - Полигон если быть более точным.
Для вычисления значений гистограммы мы будем полагаться на библиотеки обработки изображений AForge.NET. Нам понадобятся библиотеки и ссылки AForge.dll , AForge.Imaging.dll и AForge.Math.dll, код гистограммы рассчитывается очень просто:
Гистограммы результатов расчета хранятся в одномерных целочисленных массивах которые в дальнейшем будут использованы в качестве основы для отображения гистограмм.
Гистограмма сглаживания, пригладить в простых терминах, состоит на удаление шипов без ущерба для общего смысла гистограммы. Лучше проиллюстрировать это на конкретном примере:
Есть несколько подходов для сглаживания гистограммы, но для наглядности я буду использовать простой алгоритм из ответов переполнения стека . Вот код C #:
private int[] SmoothHistogram(int[] originalValues)
{
int[] smoothedValues = new int[originalValues.Length];
double[] mask = new double[] { 0.25, 0.5, 0.25 };
for (int bin = 1; bin < originalValues.Length - 1; bin++)
{
double smoothedValue = 0;
for (int i = 0; i < mask.Length; i++)
{
smoothedValue += originalValues[bin - 1 + i] * mask[i];
}
smoothedValues[bin] = (int)smoothedValue;
}
return smoothedValues;
}
ПРИМЕЧАНИЕ: С последней версией AForge (2.2.4 на момент написания этой статьи) разница между сглаженной и не сглаженной гистограммы не так заметно, как в приведенном выше примере. Алгоритм сглаживания включен для использования с более старыми версиями библиотеки или с различными библиотеками, которые не обеспечивают возможность выравнивания.
После компиляции и запуска, главное окно будет выглядеть следующим образом:
Комментариев нет:
Отправить комментарий
Большая просьба, не писать в комментариях всякую ерунду не по теме!