OpenCV putText() 换行符

新手上路,请多包涵

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

当我写:

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

图像上绘制的文字是:

This is ? some text

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

为什么会这样?难道我做错了什么 ?

原文由 Vipul 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.5k
2 个回答

不幸的是 putText 没有正确处理 \n 符号。请参阅 相关的拒绝拉取请求。您需要自己拆分文本并进行多次 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)

原文由 elyase 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题