我有一个这样的字符串列表
['standUp', 'front', 'lookU', 'lookF', 'lookDF', 'HandOnHipR']
我想在我的视频中以以下方式打印它:
['standUp',
'front',
'lookU',
'lookF',
'lookDF',
'HandOnHipR']
我试过这个:
offset = 1
x, y = 5, 400
for idx, list in enumerate(lbls):
cv2.putText(frame, str(lbls), (x, y+offset*idx), font, 1, (0, 0, 255), 1)
标签是顶部提到的列表列表。我对putText()
中的org
参数感到困惑
org
参数用于选择文本在图像中的位置,文本的左下角位于org
点。如果希望文本更向右,则增加x值;如果希望文本更低,则增加y值。因此,每一行都会更低,因为您使用offset*idx
增加y值如您所知,第二个参数
str(lbls)
将打印出整个数组,该数组应更改为单个元素的变量,您将其命名为list
。(但是,最好不要使用list
作为变量,因为它将替换内置函数list()
。我将使用lbl
。)下面是一个打印列表中单词的示例:
如果您想像上面显示的那样使用括号和标点符号,您可以手动打印它们。第一个和最后一个元素需要单独打印:
否则,您可以更改元素,使其实际包含标点符号
参数如下:
cv2.putText(img, text, (org), font, fontScale, color, thickness, linetype)
img:您的图像
文本:要在图像上打印的文本字符串
org:图像中文本字符串的左下角(x,y)
font:字体类型
fontScale:字体比例
颜色:文本颜色(B、G、R)
厚度:文本行厚度
线型:线型(8)
下面是一个可能有帮助的例子
测试图像:
代码:
结果:
相关问题 更多 >
编程相关推荐