Добавление текста на изображение с помощью Python - PIL

Опубликовано: 30 Ноября, 2021

В Python для открытия изображения, редактирования изображения, сохранения этого изображения в разных форматах есть одна дополнительная библиотека под названием Python Imaging Library (PIL) . Используя этот PIL, мы можем выполнять так много операций с изображениями, как создание нового изображения, редактирование существующего изображения, поворот изображения и т. Д. Для добавления текста мы должны следовать данному подходу.

Подход

  • Модуль импорта
  • Открыть целевое изображение
  • Добавить свойство текста с помощью объекта изображения
  • Показать это отредактированное изображение
  • Сохраните это изображение

Syntax: obj.text( (x,y), Text, font, fill)

Parameters: 

  • (x, y): This X and Y denotes the starting position(in pixels)/coordinate of adding the text on an image.
  • Text: A Text or message that we want to add to the Image.
  • Font: specific font type and font size that you want to give to the text.
  • Fill: Fill is for to give the Font color to your text.

Помимо этого, нам потребовался некоторый модуль из PIL для выполнения этой задачи. Нам нужен ImageDraw, который может добавлять к изображению 2D-графику (фигуры, текст). Кроме того, нам потребовался модуль ImageFont для добавления пользовательского стиля и размера шрифта. Ниже приводится реализация добавления текста к изображению.

Используемое изображение:

Пример 1. Добавьте простой текст к изображению. (без пользовательского стиля шрифта)

Python3

# Importing the PIL library
from PIL import Image
from PIL import ImageDraw
# Open an Image
img = Image. open ( 'car.png' )
# Call draw Method to add 2D graphis in an image
I1 = ImageDraw.Draw(img)
# Add Text to an image
I1.text(( 28 , 36 ), "nice Car" , fill = ( 255 , 0 , 0 ))
# Display edited image
img.show()
# Save the edited image
img.save( "car2.png" )

Выход:

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

Пример 2: Добавьте простой текст к изображению. (С индивидуальным стилем шрифта)

Python3

# Importing the PIL library
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
# Open an Image
img = Image. open ( 'car.png' )
# Call draw Method to add 2D graphis in an image
I1 = ImageDraw.Draw(img)
# Cutom font style and font size
myFont = ImageFont.truetype( 'FreeMono.ttf' , 65 )
# Add Text to an image
I1.text(( 10 , 10 ), "Nice Car" , font = myFont, fill = ( 255 , 0 , 0 ))
# Display edited image
img.show()
# Save the edited image
img.save( "car2.png" )

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.