Вопрос

Я создаю приложение для Android, которое предоставляет пользователю некоторые функции обработки изображений.Но прежде чем применять какую-либо функцию преобразования изображения, я хотел бы выполнить гамма-коррекцию, чтобы улучшить изображение.Я знаю, как выполнить гамма-коррекцию, но я не знаю, какое значение гаммы использовать, поскольку само изображение не имеет значения гаммы, с помощью которого было создано изображение.Любая информация о том, как выбрать значение гаммы для конкретного изображения, будет очень полезна.

Это было полезно?

Решение

Похоже, что на самом деле вы хотите осветлить или затемнить среднюю яркость изображения, чтобы она соответствовала некоторому оптимальному значению.Да, гамма-функция может это сделать.Возможно, это не лучший выбор, на самом деле для недостаточного или избыточного воздействия простое линейное умножение может быть лучше.Но давайте пока остановимся на гамме.

Измерьте среднюю яркость изображения и назовите ее a, со значениями от 0 до 255.У вас есть цель для достижения оптимальной яркости, назовем это t.Если неизвестная гамма равна g тогда вы получите:

t/255 = (a/255)^g

Решение для g дает:

g = log(t/255) / log(a/255)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top