Простой проект машинного обучения с использованием библиотеки Pillow

В этом посте я покажу вам, как добавлять текст к изображениям с помощью Python. Это будет очень простой проект, в котором мы будем использовать программирование для создания дизайна. После этого поста вы сможете создать свой следующий флаер или визитку, используя некоторые навыки Python. Разве это не круто? Может быть, это не лучший способ сделать дизайн, но возможно :)

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

Оглавление

  • Импортировать библиотеку подушек
  • Выберите изображение
  • Выбор шрифта
  • Визуализация текста
  • Экспорт результата
  • Демонстрация видео


Шаг 1 - Импортируйте библиотеку подушек

Перво-наперво, давайте установим библиотеку, которая нам понадобится для этого проекта. После завершения установки мы можем импортировать библиотеку, чтобы использовать ее в проекте. Лучший способ установить эту библиотеку - использовать PIP, инструмент диспетчера пакетов Python. Прекрасно работает с большинством библиотек Python.

pip install pillow

Отлично, теперь мы можем импортировать его в наш код. При работе с большими библиотеками вместо импорта всей библиотеки лучше попрактиковаться в импорте конкретных функций, которые будут использоваться. Это сэкономит память и время при запуске программы. Для нашего простого проекта нам понадобятся всего три функции: Image, ImageFont и ImageDraw.

Мы можем импортировать все три из них в одной строке кода следующим образом:

from PIL import Image, ImageFont, ImageDraw 

Шаг 2 - Выберите изображение

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

После загрузки изображения обязательно скопируйте его в тот же каталог, что и ваш код. Это поможет вам импортировать его в программу. Давайте определим новую переменную и назначим изображение с помощью метода open.

my_image = Image.open("nature.jpg")

Шаг 3 - Выбор шрифта

Преимущество этого проекта в том, что вы можете выбрать свой стиль шрифта. Настройка шрифта даст нам больше гибкости при проектировании.

Сначала мы загрузим файл TTF (TrueType Font) шрифта, который хотим выбрать. После того, как файл находится в том же каталоге, мы можем импортировать его в нашу программу с помощью функции ImageFont. Вот шрифт, который я буду использовать.

title_font = ImageFont.truetype('playfair/playfair-font.ttf', 200)

Теперь мы можем перейти к следующему шагу, где мы добавим текст.

Шаг 4 - Визуализируйте текст

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

title_text = "The Beauty of Nature"

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

image_editable = ImageDraw.Draw(my_image)

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

image_editable.text((15,15), title_text, (237, 230, 211), font=title_font)
  • Начальные координаты. В библиотеке Pillow используется декартова пиксельная система координат с (0,0) в верхнем левом углу.
  • Текст: строка в одинарных или двойных кавычках.
  • Цвет текста в формате RGB: Google Picker - отличный ресурс для поиска наилучшего цвета. Поищите в Google «Палитру цветов», и она появится.
  • Стиль шрифта: Google Fonts - отличный ресурс для выбора стиля шрифта, вы также можете загрузить файл TTF (TrueType Font) семейства шрифтов.


Шаг 5 - Экспорт результата

Отличная работа! Мы почти закончили. Это будет самый короткий шаг, на котором вы просто экспортируете отредактированное изображение. Вот код для экспорта с использованием метода save.

my_image.save("result.jpg")

Видео демонстрация



Поздравляю!! Вы создали программу, которая отображает произвольный текст на изображении с помощью Python. Не лучший способ создать изображение, но возможность сделать это с помощью программирования - это круто. Надеемся, что вам понравилось читать эту статью и работать над проектом. Буду рад, если вы сегодня узнали что-то новое. Работа над проектами практического программирования, подобными этому, - лучший способ отточить свои навыки программирования.

Не стесняйтесь связываться со мной, если у вас возникнут вопросы при внедрении кода.

Следите за моим блогом и youtube каналом, чтобы оставаться вдохновленным. Спасибо,