Spaces:
Running
on
L40S
Running
on
L40S
| import cv2 | |
| import numpy as np | |
| def txt_to_img(text, font=cv2.FONT_HERSHEY_SIMPLEX, font_scale=1, font_thickness=2, img_width=1000, img_height=100, text_color=(0, 0, 0), bg_color=(255, 255, 255)): | |
| lines = text.split('\n') | |
| img_lines = [] | |
| for line in lines: | |
| # 计算每行文本的尺寸 | |
| line_size, _ = cv2.getTextSize(line, font, font_scale, font_thickness) | |
| line_width, line_height = line_size | |
| # 创建包含当前行的图像画布 | |
| img_line = np.full((int(line_height*1.5) , img_width, 3), bg_color, dtype=np.uint8) | |
| text_x, text_y = 0, line_height | |
| cv2.putText(img_line, line, (text_x, text_y), font, font_scale, text_color, font_thickness, cv2.LINE_AA) | |
| img_lines.append(img_line) | |
| # 垂直堆叠所有行图像 | |
| img = np.vstack(img_lines) | |
| return img |