Автор оригинала: 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)
Выходное изображение было бы: