【发布时间】:2020-05-21 05:19:32
【问题描述】:
我正在使用 openCV 编辑视频文件的某些帧。
我正在使用 putText 在框架中插入文本
我卡在文本宽度超过框架宽度的位置
我已经搜索过,但在这个平台上找不到任何合适的解决方案
我的代码如下:
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
x = 0
y = 478
w = 640
h = 40
font = cv2.FONT_HERSHEY_COMPLEX_SMALL
font_color = (255, 255, 255)
thick = 1
text = "A very long text here blaaah blaaah blaaah blaaah blaaah blaaah . . . . . "
font_size = 0.9
(text_width, text_height) = cv2.getTextSize(text, font, font_size, thick)[0]
if text_width > w :
# statements to fit width
loc_x = x + int(w/2) - int(text_width/2)
loc_y = y + int(h/2) + int(text_height/2)
frame = cv2.putText(frame,text,(loc_x,loc_y),font,font_size,font_color,thick,cv2.LINE_AA)
cv2.imwrite("frame.png",frame)
例如,
此外,我不希望文本在下一行下降,我希望文本在宽度超过时应缩小以适合框架
我想减小 WIDTH 而不是 HEIGHT
【问题讨论】:
-
看到这个答案stackoverflow.com/a/56660627/9681220也许对你有帮助
-
@taherfattahi 似乎
textwrap会尝试适合页面,但它可能会将我的文本带到我不想要的下一行,顺便说一句,我还没有尝试过.
标签: python opencv opencv-python