Я автоматически создаю изображения в формате JPG из мультиспектральных данных. Созданное изображение очень темное. Поэтому я подумал, что было бы лучше изменить яркость (например, Image.Enhance в PIL). Но возникла проблема, потому что одним снимкам нужно больше яркости, чем другим.
Следующей идеей было попробовать линейное растяжение гистограммы. Итак, я создал скрипт, который перебирает кортежи RGB и вычисляет новую интенсивность для пикселей. Разница была очень маленькая. Вероятно, потому что диапазон значений всегда был 0-255. Затем я попробовал выравнивание гистограммы (ImageOps) для R, G и B, но результат был плохим, см. Среднюю часть изображения. В Интернете я обнаружил, что это не лучший подход, потому что цвета могут резко меняться. Наверное, это мой случай.
Лучшая идея выглядит как преобразовать массив RGB в HSL, а затем изменить яркость, но я не могу использовать константу для максимальной яркости, потому что изображения разные и для них нужны разные константы. Должен ли я использовать выравнивание гистограммы на яркости или как лучше всего растянуть или, возможно, улучшить выравнивание гистограммы моего изображения?
Я ищу что-то вроде изображения / автоматической настройки цветов в IrfanView или в каком-то ПО используется имя Linear Normalization ...
Надеюсь, эта картинка поможет вам разобраться в моей проблеме. Я, наверное, выбираю плохой путь для достижения своей цели.
Спасибо за любой ответ, буду очень рад.
ИЗМЕНИТЬ
Изображение слева для загрузки
Следующие изображения я могу загрузить позже, сегодня.