File size: 1,162 Bytes
25db2bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import cv2
import numpy as np

def create_text_image(text, font_size, font_color, background_color):
    # Create a blank image with white background
    image = np.ones((100, 300, 3), dtype=np.uint8) * 255

    # Set the font and text properties
    font = cv2.FONT_HERSHEY_SIMPLEX
    font_scale = font_size
    font_thickness = 2

    # Get the size of the text
    (text_width, text_height), _ = cv2.getTextSize(text, font, font_scale, font_thickness)

    # Calculate the position to center the text
    x = (image.shape[1] - text_width) // 2
    y = (image.shape[0] + text_height) // 2

    # Draw the text on the image
    cv2.putText(image, text, (x, y), font, font_scale, font_color, font_thickness, cv2.LINE_AA)

    # Change the background color
    image[np.where((image == [255, 255, 255]).all(axis=2))] = background_color

    return image

# Example usage
text = "Hello, World!"
font_size = 2.0
font_color = (0, 0, 255)  # Red color
background_color = (255, 255, 0)  # Yellow color

image = create_text_image(text, font_size, font_color, background_color)

# Display the image
cv2.imshow("Text Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()