У меня есть скрипт, который использует Google Maps API для загрузки последовательности спутниковых изображений квадратного размера одинакового размера и создает 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
Этот код работает независимо для каждого изображения.Интересно, будет ли лучше сначала проанализировать все изображения, а затем «нормализовать» их визуальные свойства (контраст, яркость, гамма и т. Д.)?
Кроме того, я думаю, что было бы необходимо провести некоторый анализ визображение (гистограмма?), чтобы применить пользовательскую коррекцию в зависимости от каждого изображения, а не одинаковую коррекцию для всех из них (хотя любая функция «улучшения» неявно учитывает начальные сокращения).
Кто-нибудь имел такуюпроблема и / или знаете хорошую альтернативу сделать это с цветными изображениями (без оттенков серого)?
Любая помощь будет оценена, спасибо за чтение!