Попытка изменить среднюю яркость пикселей двух изображений на среднее значение (между ними) с помощью PIL в PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Попытка изменить среднюю яркость пикселей двух изображений на среднее значение (между ними) с помощью PIL в Python

Сообщение Гость »


У меня есть 2 изображения, я рассчитал среднюю яркость пикселей для обоих, затем вычислил среднюю точку между средней яркостью и факторами, необходимыми для изменения каждого изображения для достижения этой «целевой» средней точки.

Однако, когда я запускаю фактор через функцию ImageEnhance (https://pillow.readthedocs.io/en/stable ... hance.html), измененное изображение не соответствует целевой средней точке. Не знаю почему. Изображения прилагаются.

Вот мой код, показывающий, как я рассчитываю среднюю яркость для каждого изображения и как я вычисляю среднюю точку/коэффициент и пытаюсь улучшить изображение. Здесь что-то не так или это проблема с Pillow?

def Calculate_average_brightness(изображение): """ Рассчитайте среднее значение насыщенности изображения. """ яркость = 0 пикселей = image.convert('L').getdata() total_pixels = len(пикселей) яркость = [] для пикселя в пикселях: яркость.append(пиксель) средняя_яркость = сумма (яркость) / общее количество пикселей вернуть среднюю_яркость, яркость img1_path = os.path.join(path, "face_ai_midjourney (278).jpg") img2_path = os.path.join(path, "face_real (10).jpg") img1 = Image.open(img1_path) img2 = Image.open(img2_path) img1_bright, яркость = Calculation_average_brightness(img1) img2_bright, яркость_2 = вычислить_среднюю_яркость (img2) середина = (img1_bright + img2_bright)/2 фактор1 = середина/img1_bright фактор2 = середина/img2_bright obj = ImageEnhance.Brightness(img1) а = obj.enhance(фактор1) img1_bright2, яркость2 = Calculation_average_brightness(a) img1 изображение2

Я проверил, не заключалась ли проблема в том, что количество пикселей либо достигло максимального значения 255 после корректировки, либо уменьшилось до 0, однако для img1 (которое увеличивается, максимальное значение пикселя после корректировки коэффициента все еще ниже 255).< /п> Не уверен, что еще может произойти (просто из-за проблем с округлением? В этом случае я бы не ожидал, что разница от средней точки будет настолько большой)
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»