我正在使用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符号。参见relevant rejected pull request。您需要自己分割文本并进行几次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)

关于python - OpenCV putText()换行符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27647424/

10-12 23:22