Задачи
Задача 1
Напишите функцию twist_image(input_file_name, output_file_name)
, которая будет менять местами левую и правую половины изображения.
Параметр input_file_name
задаёт имя исходного файла, а output_file_name
— имя файла, куда следует сохранить результат.
При передаче данного изображения:
должно получиться:
Задача 2
Два изображения можно совместить так, что одно из них будет как бы «полупрозрачным». Для этого значения цветовых компонент каждого совмещаемого пикселя обоих изображений нужно попарно суммировать с определёнными весовыми коэффициентами.
Например, если итоговый цвет (в нотации RGB) вычислять по формуле:
то получится, что первое изображение будет иметь 20 процентов прозрачности.
Продемонстрируем эффект прозрачности:
Напишите функцию transparency(filename1, filename2)
, которая, используя PIL
, смешивает изображения в пропорции 50/50.
Формат ввода
Тестирующая система вызовет вашу функцию, передав в неё имена файлов с изображениями:
Формат вывода
Результат смешивания изображений сохраните в файл с именем res.jpg в той же папке, где находится ваша программа.
Примечания
Результат вычисления каждой компоненты нового пикселя необходимо приводить к целому числу с помощью функции int
.
Например, так:
Задача 3
Мы очень любим мультфильм «Чип и Дейл». А вы?
Давайте попробуем написать функцию chip_and_dale(number)
, которая сможет монозвуковой файл с любой речью переделать так, чтобы казалось, что слова произносит герой любимого нами мультфильма Чип.
Для этого надо ускорить воспроизведение.
В функцию передаётся натуральное число i из диапазона [2..5].
Необходимо прочитать файл in.wav
, оставить каждый i-ый фрейм и сохранить результат в файле out.wav
В качестве образца по работе со звуковым файлом возьмите по ссылке ниже
Задача 4
Напишите функцию motion_blur(n)
которая:
открывает изображение image.jpg
поворачивает его на 270 градусов против часовой стрелки без использования циклов (только встроенными средствами PIL)
обрабатывает полученное изображение с помощью размытия Гаусса (GaussianBlur) с параметром n
сохраняет результат в файле res.jpg
Формат ввода
Изображение image.jpg в текущей папке
вызов функции:
Формат вывода
Изображение res.jpg в текущей папке
Задача 5
Напишите функцию break_the_silence()
, которая будет убирать тишину из файла
и сохранять полученный результат в файле out.wav
Обратите внимание, что даже если мы не слышим звука в аудио-файле и не видим колебания звукового спектра на спектрограмме, это не значит, что в файле находится абсолютная тишина.
В реальности во фреймах участка музыкального файла будут небольшие колебания в диапазоне [-5; 5]. Именно такие фреймы ваша функция и должна считать содержащими только тишину.
Задача 6
Напишите функцию make_preview(size, n_colors)
которая:
открывает изображение image.jpg
уменьшает его до размера size
уменьшает число цветов в изображении до
n_colors
(такая процедура называется квантование илиquantize
)сохраняет результат в файле res.bmp
Формат ввода
Изображение image.jpg в текущей папке.
вызов функции:
Формат вывода
Примечания
Обратите внимание, что результат сохраняется в формате bmp.