Write Text on Image in Python
To write text on image with OpenCV library of Python, use putText() method. The usage of putText() function is provided in the following example.
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)
As you can see from the above example, you can provide
- image on which you can write the text.
- text you want to write on image.
- position: distance along horizontal and vertical axis from top left corner of the image.
- font family
- font size
- font color
- font stroke width
In the above example, we have provided a sample image, and wrote some text on the image. We have written the output image to a file. Following are the input and output images.


Python – Write Text at the center of the image
If you know the shape (width, height) of the text you are writing on the image, then you can place at center aligned on the image.
The approximate shape of the text in the above example is (268, 36)
. You may have to find the shape of your specific text this using Paint or other application.
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)
The output image would be:

Related Tutorials
- Python Program to Add or Blend Two Images using OpenCV
- Python OpenCV – Image Filtering using Convolution
- Python OpenCV cv2.imwrite() – Save Image
- Python OpenCV cv2 Resize Image
- Python Convert Image to Black and White (Binary)
- Python OpenCV cv2 Find Contours in Image
- Python OpenCV Read Image – cv2 imread()
- Python OpenCV – cv2 Image Blur