Opencv 打印带轮廓的文本

Opencv print text with outline

我想使用 opencv 在图像上呈现自定义文本,同时文本周围有白色轮廓,文本内部为黑色。目前我只能以单一静态颜色(在本例中为黑色)打印文本,如下所示:

cv2.putText(img, "My text", (x, y), font, font_size, (0, 0, 0), font_thickness, lineType = cv2.LINE_AA)

如何实现如下图的效果,文字的轮廓打印成白色,内部打印成黑色?

注意:文字放在图片上,所以文字周围剩余的space(示例图片中的灰色space)应该是透明的。

您可以在图像上绘制两次文本:一次用于轮廓,另一次用于文本。

cv2.putText(image,"text",(180,150),cv2.FONT_HERSHEY_COMPLEX,3,(255,255,255),16,cv2.LINE_AA)
cv2.putText(image,"text",(180,150),cv2.FONT_HERSHEY_COMPLEX,3,(0,0,0),4,cv2.LINE_AA)