Запись текста на изображении OpenCV в Python

Чтобы написать текст на изображении с помощью библиотеки OpenCV Python, используйте метод putText(). Использование функции показано в следующем примере.

import numpy as np
import cv2

image = cv2.imread('sample.png',cv2.IMREAD_UNCHANGED)

position = (10,50)
cv2.putText(
     image, #numpy array on which text is written
     "Python Examples", #text
     position, #position at which writing has to start
     cv2.FONT_HERSHEY_SIMPLEX, #font family
     1, #font size
     (209, 80, 0, 255), #font color
     3) #font stroke
cv2.imwrite('output.png', image)

Как видно из приведенного выше примера, вы можете предоставить:

  • изображение, на котором можно написать текст;
  • текст, который вы хотите написать на изображении;
  • позиция: расстояние по горизонтальной и вертикальной осям от верхнего левого угла изображения;
  • семейство шрифтов;
  • размер шрифта;
  • цвет шрифта;
  • ширина штриха шрифта.

В приведенном выше примере мы предоставили образец изображения и написали на нем текст. Мы записали выходное изображение в файл. Ниже приведены входные и выходные изображения.

Регулировка яркости изображенияPython OpenCV Text on Image

Текст в центре изображения

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

Примерная форма текста в приведенном выше примере – (268, 36). Возможно, вам придется найти форму вашего конкретного текста с помощью Paint или другого приложения.

import numpy as np
import cv2

image = cv2.imread('sample.png',cv2.IMREAD_UNCHANGED)

position = ((int) (image.shape[1]/2 - 268/2), (int) (image.shape[0]/2 - 36/2))

cv2.putText(
     image, #numpy array on which text is written
     "Python Examples", #text
     position, #position at which writing has to start
     cv2.FONT_HERSHEY_SIMPLEX, #font family
     1, #font size
     (209, 80, 0, 255), #font color
     3) #font stroke
cv2.imwrite('output.png', image)

Выходное изображение будет:

Запись текста на изображение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *