出于某种原因,我需要将中文文本放在裁剪后的图像中。我使用了方法" putText"在cv2中实现目标。
以下是我使用的代码:
cv2.putText(crop_img, u'中文字串'.encode('utf-8'), (200, 200), cv2.FONT_HERSHEY_PLAIN, 3.0, textColor, thickness=4)
然而,图像中显示的所有字符变为"?"。我该如何解决这个问题? cv2是否支持中文编码?
答案 0 :(得分:3)
问题是OpenCV只有Hershey字体,不包含中文字符。 所以你需要别的东西。 有一个OpenCV extension library似乎可以解决这个问题。
http://opencv-extension-library.googlecode.com/svn/doc/r263/classCvxText.html#2b5076328cd67ddd5a4eecc8e00cba3e的程序看起来似乎是在尝试加载字体并在图像中绘制字符。