Проекты

ALUB фоторедактор

Работа призёра конкурса проектов и исследований «Инженеры будущего» открытой городской научно-практической конференции «Инженеры будущего» в секции «Информационные технологии, программирование, прикладная математика, социальный инжиниринг» среди работ учащихся 7–9 классов

Направление работы: Инженеры
Авторы работы: ГБОУ Школа № 171
Предметы: Информатика
Классы: 9 класс
Мероприятия: Конкурс проектов и исследований «Инженеры будущего» открытой городской научно-практической конференции «Инженеры будущего» 2021 года

Актуальность

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

Чтобы лишний раз не запускать грузный профессиональный софт, можно просто нажать кнопку и отредактировать нужное изображение за пять минут.

Цель

Создать программу, которая может служить экспресс-редактором для небольших фотографий.

Задачи

  1. Реализовать основные функции преобразования изображения с помощью изученных библиотек.
  2. Осуществить дизайн интерфейса программы с помощью Qt Designer.
  3. Использовать базы данных в работе приложения.
  4. Сделать возможным сохранение и открытие других графических файлов.

Оснащение и оборудование, использованное при создании работы

  • Персональный компьютер с установленным ПО (Qt Designer (дизайн интерфейса, SQLiteStudio (работа с БД), PyCharm (среда разработки кода) и Adobe Illustrator 2020)

Описание

  1. Реализованы основные функции преобразования изображения с помощью изученных библиотек.
    Среди данных автор выделил фильтры по цветовым каналам, негатив, ч/б, повороты налево и направо. Для поворотов была введена дополнительная переменная поворота. Это было сделано для функций, которые обращаются к исходнику, ведь начальное изображение никто не переворачивал.
  2. Осуществлён дизайн интерфейса программы с помощью Qt Designer. Каждый виджет имеет говорящее название.
  3. Использованы базы данных в работе приложения.    
    Пресеты – это наборы предварительных настроек, наилучшим образом реализуются с помощью БД. Создана единая таблица, где размещены все пресеты, в колонки которых записаны названия нужных функций. При вызове пресета будет вызываться соответствующая функция.

  1. Сделаны возможными сохранение и открытие других графических файлов.
    Виджеты импорта, экспорта и закрытия программы отсортированы в определённую категорию и размещены на QDockWidget, что даёт возможность скрывать это «окно» или выносить его поверх основного окна. Это удобно и красиво.

Кнопка «открыть» вызывает диалоговое окно для выбора файла. В заголовке окна размещаются рекомендации по выбору изображения. Если рекомендации не будут соблюдены, то программа может некорректно обрабатывать изображение.

Дополнительно автором проделана следующая работа.

Реализовано открытие изображения с помощью интернет-адреса.

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

Если адрес неверен или просто не введён, то на QLabel, находящийся сверху, будут выведены соответствующие уведомления. После удачной вставки копия прошлого изображения сохраняется под именем «start_image_copy.jpg».

Добавлены уникальные эффекты и фильтры.

Сакура, Кислота, Синий Лимон, Red Retro, Green Retro, Модена, BGW, случайные прямоугольники, Цифровой Шум и многое другое автор реализовал именно опытным путём, ведь о подобных преобразованиях в литературных источниках не говорилось. Всё это было достигнуто путём экспериментов над изображениями.

Разработан приятный и говорящий интерфейс.

Дизайн был вдохновлён интерфейсами программ компании Adobe, Inc., а конкретно – интерфейсом Adobe Lightroom. Мне хотелось, чтобы приложение выглядело профессионально, а интерфейс был дружественным для пользователя. Кнопки программы могут показать свою потенциальную дееспособность, меняя оттенок серого на более светлый при наведении на них курсором.

Отдельное внимание стоит уделить иконке, логотипу, который я лично сам разработал для ALUB. Хотелось сделать что-то похожее на иконку PyCharm, только интереснее. На картинке представлены скетчи, по которым можно увидеть, как я пришёл к конечному варианту. Для реализации самого интерфейса было использовано 6 различных виджетов.

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

В результате выполнения работы автор сделал вывод, что Python – очень удобный и практичный язык программирования, хоть и не совсем подходит под задачу написания полноценного софта по работе с графикой из-за скорости итерации.

Результаты работы/выводы

Автор проекта ALUB выполнил все поставленные перед собой ранее цели и задачи, реализовав интерфейс, логотип, взаимодействие кода с базами данных и логику самой программы.

Сначала написал небольшой код, который являлся решением к одной из задач Яндекс Лицея по модулю QT. Однако его это очень увлекло, и он в течение месяца развил код до полноценной программы, которую представлял на конкурсе проектов и исследований «Инженеры будущего».

Перспективы использования результатов работы

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

Сотрудничество с вузом/учреждением при создании работы

ООО «Яндекс», Яндекс.Лицей