Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/120: Рейтинг темы: голосов - 120, средняя оценка - 4.53
10 / 59 / 21
Регистрация: 12.03.2017
Сообщений: 514
1

Два изображения совместить так, что одно из них будет «полупрозрачным»

26.02.2018, 20:13. Показов 24118. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Два изображения можно совместить так, что одно из них будет как бы «полупрозрачным». Для этого значения цветовых компонент каждого совмещаемого пикселя обоих изображений нужно попарно суммировать с определёнными весовыми коэффициентами.

Например, если итоговый цвет (в нотации RGB) вычислять по формуле:

R = 0.8*R1 + 0.2*R2
G = 0.8*G1 + 0.2*G2
B = 0.8*B1 + 0.2*B2

то получится, что первое изображение будет иметь 20 процентов прозрачности.


Напишите программу, которая, используя PIL, смешивает изображения в пропорции 50/50.
Формат ввода
На вход программы поступают имена двух файлов с изображениями, расположенные на отдельных строчках. Размеры изображений будут одинаковыми.
Формат вывода
Результат смешивания изображений сохраните в файл с именем res.jpg в той же папке, где находится ваша программа.
Примечания
Результат вычисления каждой компоненты нового пикселя необходимо приводить к целому числу с помощью функции int.
Например, так:

r = int(0.2*r1 + 0.8*r2)
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2018, 20:13
Ответы с готовыми решениями:

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

в Access создать два поле,в одно из них будет записываться какое то слово,а в другом при нажатии кнопки будет определяться количество символов
Помогите пожалуйста,нужно в Access создать два поле,в одно из них будет записываться какое то...

Как определить что два изображения это просто одно копия другого?
Как определить что два изображения это просто одно копия другого? То есть взяли картинку...

Заданы два положительных числа. Определите верно ли что одно из них делиться на другое без остатка
Заданы два положительных числа х и у .Определите верно ли что одно из них делиться на другое без...

7
1292 / 909 / 479
Регистрация: 05.12.2013
Сообщений: 3,074
27.02.2018, 00:08 2
Лучший ответ Сообщение было отмечено Pavlin234 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from PIL import Image
 
file1 =  input()
file2 = input()
 
image = Image.open(file1)
image1 = Image.open(file2)
 
w, h = image.size
 
for x in range(w):
    for y in range(h):
        pix_coord = (x, y)
        r, g, b = image.getpixel(pix_coord)
        r1, g1, b1 = image1.getpixel(pix_coord)
        new_col = (int(0.5 * r + 0.5 * r1), int(0.5 * g + 0.5 * g1), int(0.5 * b + 0.5 * b1))
        image.putpixel(pix_coord, new_col)
 
image.save('res.jpg')
3
65 / 62 / 3
Регистрация: 02.11.2019
Сообщений: 227
28.02.2020, 16:04 3
Почему-то не работает:
Python
1
2
3
4
5
6
Traceback (most recent call last):
  File "C:/Users/User/Desktop/cw.py", line 14, in <module>
    r, g, b = image.getpixel(pix_coord)
  File "C:\Users\User\PycharmProjects\YandexLiceum\venv\lib\site-packages\PIL\Image.py", line 1315, in getpixel
    return self.im.getpixel(xy)
IndexError: image index out of range
0
1292 / 909 / 479
Регистрация: 05.12.2013
Сообщений: 3,074
28.02.2020, 17:35 4
Цитата Сообщение от geargoose Посмотреть сообщение
Почему-то не работает:
Очень странно, добавь print(pix_coord) и сравни значение при вылете при вылете программы с w и h
0
Заблокирован
05.01.2021, 12:30 5
Работает!
0
1 / 1 / 0
Регистрация: 07.05.2017
Сообщений: 18
17.07.2021, 13:03 6
обьясни как работает твой код
0
5409 / 2764 / 559
Регистрация: 07.11.2019
Сообщений: 4,512
19.07.2021, 07:18 7
Python
1
2
3
4
5
6
7
8
from PIL import Image
 
file1 =  input()
file2 = input()
image = Image.open(file1)
image1 = Image.open(file2)
res=Image.blend(image, image1, 0.5)
res.save('res.jpg')
0
Модератор
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
19.07.2021, 11:08 8
Ahmadenejat,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from PIL import Image
 
file1 = input()  # открываемые файлы
file2 = input()  # открываемые файлы
 
image = Image.open(file1)  # открываем как картинку (объект image)
image1 = Image.open(file2)  # открываем как картинку (объект image)
 
w, h = image.size  # задаем размер изображения
 
for x in range(w):  # проходим по высоте
    for y in range(h):  # проходим по ширине
        pix_coord = (x, y)  # получаем коорлинаиы точек
        r, g, b = image.getpixel(pix_coord)  # циклом получаем пиксели
        r1, g1, b1 = image1.getpixel(pix_coord)  # циклом получаем пиксели
        new_col = (int(0.5 * r + 0.5 * r1), int(0.5 * g + 0.5 * g1),
                   int(0.5 * b + 0.5 * b1))  # задаем цвет с прозрачностью, по RGB
        # выдаем ему координаты на  изображении
        image.putpixel(pix_coord, new_col)
 
image.save('res.jpg')  # сохраняем
0
19.07.2021, 11:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2021, 11:08
Помогаю со студенческими работами здесь

Сделать так, чтобы если ввести что-то в одно из полей, два других очищались
Ребята, может кто-нибудь помочь? Нужна помощь по JavaScript. Например, есть три input поля. Мне...

Как в ячейке TableLayout совместить два изображения?
Собственно задача следующая: внизу активности текст. над текстом изображение собранное из...

Можно ли совместить 2 geoshow так, чтобы у них были разные цветовые colorbar
Здравствуйте! Можно ли совместить в матлабе 2 geoshow так, чтобы у них были разные цветовые...

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

Написать код, с помощью которого можно совместить два изображения с целью удаления пикселей с одинаковой яркостью
Всем привет. Подскажите пожалуйста код с помощью которого можно совместить 2 изображение в matlabe ...

Сформировать два множества так, что в одном из них будут содержаться только заглавные буквы, а в другом только прописные
Во множестве содержаться буквы: А, Б, В, Г, Д, а, б, в, г, д. Из этого множества сформировать два...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru