OpenCV显示中文的解决方案
收藏
快速回复
AI Studio平台使用 问答Notebook项目 1477 6
OpenCV显示中文的解决方案
收藏
快速回复
AI Studio平台使用 问答Notebook项目 1477 6

OpenCV是不能直接显示中文的,即使指定了中文字体文件似乎也不行。不过好在有高手分享了结合PIL的解决方案,对于适用PaddleDetection又想标注框上显示中文标签的小伙伴们,无疑是个福音啊!

原始链接:https://blog.csdn.net/qq_41895190/article/details/90301459

我稍微改造了下,其中NotoSansCJKsc-Medium.otf就是在当前目录下面放好的中文字体文件了,可以随意替换成自己喜欢的中文字体。

from PIL import Image, ImageFont,ImageDraw
from numpy import unicode

def paint_chinese_opencv(im,chinese,pos,color):
    img_PIL = Image.fromarray(cv2.cvtColor(im,cv2.COLOR_BGR2RGB))
    font = ImageFont.truetype('NotoSansCJKsc-Medium.otf',25)
    fillColor = color #(255,0,0)
    position = pos #(100,100)
    if not isinstance(chinese,unicode):
        chinese = chinese.decode('utf-8')
    draw = ImageDraw.Draw(img_PIL)
    draw.text(position,chinese,font=font,fill=fillColor)
    img = cv2.cvtColor(np.asarray(img_PIL),cv2.COLOR_RGB2BGR)
    return img

plt.imshow(paint_chinese_opencv(img,'显示中文',(100,100),(255,255,0)))
0
收藏
回复
全部评论(6)
时间顺序
AIStudio810259
#2 回复于2021-02

为啥呀?

0
回复
AIStudio810260
#3 回复于2021-02
为啥呀?

opencv会报什么拉丁字符错误

0
回复
AIStudio810259
#4 回复于2021-02

奥,果然。

0
回复
AIStudio810260
#5 回复于2021-02
奥,果然。

复现了嘛?

0
回复
1
1202004010202
#6 回复于2022-06

OpenCV

0
回复
S
Syuhen
#7 回复于2022-06

不错

0
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户