Путь разработчика    

Гамма-коррекция изображения в C#


Гамма-коррекция или просто гамма - это нелинейное изменение красных, зеленых и синих компонентов пикселей в изображении. Сообщение Используйте объект ImageAttributes для настроить яркость изображения на C# , объясняет, как использовать объекты ImageAttributes и ColorMatrix для настройки яркости изображения. Поскольку он масштабирует яркость каждого пикселя на один и тот же коэффициент, результат может сделать яркие области слишком яркими, а темные области слишком темными.

Например, предположим, что вы осветляете изображение. Яркие области изображения, вероятно, не нуждаются в таком ярком свете, как темные области. И наоборот, если вы затемняете изображение, темные области, вероятно, не нуждаются в таком темном, как яркие области.

Коррекция гаммы регулирует яркость изображения неравномерно, поэтому яркие области не вымываются, а темные области не такие темные. Подробнее о гамма-коррекции см. На странице Википедии Гамма-коррекция .

Вы можете прокручивать пиксели изображения и выполнять гамма-коррекцию для каждого из них, но объект ImageAttributes может выполнять гамма-коррекцию для вас гораздо быстрее.

Следующий метод AdjustGamma выполняет гамма-коррекцию изображения.

Python

Этот код создает объект ImageAttributes и использует его метод SetGamma для установки значения коррекции гаммы. Это значение должно быть больше 0,0. Типичные значения варьируются от 1 до 2.2.

После инициализации объекта ImageAttributes программа использует его для рисования исходного изображения в результате Bitmap и возвращает результат. См. Пример Использование объекта ImageAttributes для настройки яркости изображения на C# для получения дополнительной информации о том, как работает часть чертежа.

Источник: http://csharphelper.com/blog/2016/12/provide-gamma-correction-for-an-image-in-c/



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Что подразумевается под анонимным классом в Java?

Анонимный класс в Java - это класс, которому не присвоено имя, и объявляется и создается в одном выражении. Анонимный класс обычно используется на платформ...

20 10 2019 17:41:57

Изучаем HTML, XHTML и CSS (Эрик Фримен, Элизабет Робсон)

Устали от чтения книг по HTML, которые понятны только специалистам в этой области? Тогда самое время взять в руки новое издание " Изучаем HTML, XHTML и CSS....

19 10 2019 12:22:55

Как найти свой IP-адрес и имя компьютера в Java

Класс InetAddress можно использовать для поиска доменных имен (DNS). Имя хоста может быть либо именем машины, например «mail.yahoo.com», либо текстовым пре...

18 10 2019 9:56:28

Исключения в Java

Исключение - это событие, которое происходит во время выполнения программы, что нарушает нормальный поток инструкций программы. Он обеспечивает способ пере...

17 10 2019 4:30:20

Получите значение автонабора, которое только что было вставлено в C#

Если поле базы данных является полем автонабора, то база данных автоматически генерирует для него значения. Например, предположим, что таблицы Students име...

16 10 2019 4:25:20

Преобразовать строку в число в Java? String to Int

Преобразование String в int или Integer - очень распространенная операция в Java. Существует несколько простых способов сделать это преобразование. Часто и...

15 10 2019 4:37:27

Что такое undefined x 1 в JavaScript?

Часть стандарта ECMA, JavaScript-консоли будут отображать объекты в виде массивов, когда объекты похожи на массивы. Например: для объекта, содержащего стро...

14 10 2019 9:47:28


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69