Автор оригинала: Python Examples.
Написать текст на изображении в Python
Для записи текста на изображении с библиотекой OpenCV Python используйте метод PutText (). Использование функции 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 – напишите текст в центре изображения
Если вы знаете форму (ширина, высота) текста, которую вы пишете на изображении, вы можете разместить в центре, выровненном на изображении.
Примерная форма текста в приведенном выше примере является (268, 36) Отказ Возможно, вам придется найти форму вашего конкретного текста, используя краску или другое приложение.
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)Выходное изображение было бы: