OpenCV putText() 换行符

2024-04-02

我正在使用 cv2.putText() 在图像上绘制文本字符串。

当我写的时候:

cv2.putText(img, "This is \n some text", (50,50), cv2.FONT_HERSHEY_SIMPLEX, 1, 2)

图像上绘制的文字是:

This is ? some text

我期望文本在新行中打印为\n是换行符的转义字符,但它会绘制?而是在图像上。

为什么会发生这种情况?难道我做错了什么 ?


很遗憾putText没有正确处理\n符号。请参阅相关被拒绝的拉取请求 https://github.com/Itseez/opencv/pull/313。您需要自己拆分文本并制作多个putText调用,例如:

text = "This is \n some text"
y0, dy = 50, 4
for i, line in enumerate(text.split('\n')):
    y = y0 + i*dy
    cv2.putText(img, line, (50, y ), cv2.FONT_HERSHEY_SIMPLEX, 1, 2)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenCV putText() 换行符 的相关文章

随机推荐