У меня есть сценарий, который использует API Карт Google для загрузки последовательности квадратных спутниковых изображений одинакового размера и генерирует PDF-файл. Изображения необходимо повернуть заранее, и я уже делаю это с помощью PIL.
Я заметил, что из-за разного освещения и условий местности некоторые изображения слишком яркие, другие слишком темные, и итоговый PDF-файл немного выглядит. уродливые, с далеко не идеальными условиями чтения «в поле» (то есть катание на горных велосипедах в отдаленных районах, где я хочу напечатать эскизы конкретных перекрестков).
(РЕДАКТИРОВАТЬ) Цель состоит в том, чтобы закончить все изображения с такой же видимой яркостью и контрастом. Таким образом, слишком яркие изображения необходимо затемнить, а темные - осветлить. (кстати, я когда-то использовал imagemagick autocontrast
, или auto-gamma
, или equalize
, или autolevel
, или что-то в этом роде , с интересными результатами в медицинских изображениях, но я не знаю, как сделать что-либо из них в PIL).
Я уже использовал некоторые коррекции изображения после преобразования в оттенки серого (некоторое время назад у меня был принтер с оттенками серого), но результаты не были тоже не годится. Вот мой код градаций серого:
#!/usr/bin/python
def myEqualize(im)
im=im.convert('L')
contr = ImageEnhance.Contrast(im)
im = contr.enhance(0.3)
bright = ImageEnhance.Brightness(im)
im = bright.enhance(2)
#im.show()
return im
Этот код работает независимо для каждого изображения. Интересно, не лучше ли сначала проанализировать все изображения, а затем «нормализовать» их визуальные свойства (контраст, яркость, гамму и т. Д.).
Кроме того, я думаю, что необходимо провести некоторый анализ изображения (гистограмма ?), чтобы применить индивидуальную коррекцию в зависимости от каждого изображения, а не одинаковую коррекцию для всех из них (хотя любая функция «улучшения» неявно учитывает исходные условия).
У кого-нибудь была такая проблема и / или знает ли хорошая альтернатива сделать это с цветными изображениями (без оттенков серого)?
Любая помощь будет принята с благодарностью, спасибо за чтение!