Выполнять бинарное усиление контраста интерактивно в C#

Пример Выполнение бинарного усиления контрастности на образ в C# выполняет бинарное усиление контрастности, устанавливая каждый пиксель на черный или белый в зависимости от того, больше ли сумма его красных, зеленых и синих компонентов компонента больше 3 * 128 = 384. Для изображений, которые особенно темные или свет, однако, результат может быть слишком темным или слишком светлым.

В этом примере вы можете использовать полосу прокрутки, чтобы определить, какое значение отсечки использовать при выполнении настройки. Всякий раз, когда программа загружает новое изображение или вы настраиваете полосу прокрутки, код вызывает следующий метод PerformEnhancement.

// Выполнение бинарного контраста.
private void PerformContrastEnhancement()
{
    if (picOriginal.Image == null) return;
    Cursor = Cursors.WaitCursor;

    // Выполнение контрастности.
    Bitmap bm = new Bitmap(picOriginal.Image);

    BinaryContrast(bm, 3 * hscrCutoff.Value);

    // Отображение результата.
    picOriginal.Visible = true;

    if (picResult.Image != null) picResult.Image.Dispose();
    picResult.Image = bm;
    picResult.Left = picOriginal.Right + 4;
    picResult.Visible = true;
    Cursor = Cursors.Default;
}

Источник: http://csharphelper.com/blog/2015/12/perform-binary-contrast-enhancement-interactively-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector