首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cv2.putText在python OpenCV中屏幕上没有显示亚美尼亚字母

问cv2.putText在python OpenCV中屏幕上没有显示亚美尼亚字母
EN

Stack Overflow用户
提问于 2022-04-06 00:08:40
回答 2查看 384关注 0票数 2

我遇到了一个问题,当我使用我的手时,我试图输出亚美尼亚字母,这是手语应用程序。那么,我就得到了“??”为什么要签一封信。我相信opencv的putText()既不受欢迎,也不存在问题,也可能没有正确的实现方式。请帮帮忙。谢谢!

这是我的代码:

代码语言:javascript
复制
 dict_letter = {0: 'Ա', 1: 'Բ', 2: 'Գ', 3: 'Դ', 4: 'Ե', 5: 'Զ', 6: 'Է', 7: 'Ը', 8: 'Թ', 9: 'Ժ', 10: 'Ի', 11: 'Լ', 12: 'Խ', 13: 'Ծ', 14: 'Կ', 15: 'Հ',
                16: 'Ձ', 17: 'Ղ', 18: 'Ճ', 19: 'Մ', 20: 'Յ', 21: 'Ն', 22: 'Շ', 23: 'Ո', 24: 'Չ', 25: 'Պ', 26: 'Ջ', 27: 'Ռ', 28: 'Ս', 29: 'Վ', 30: 'Տ', 31: 'Ր',
                 32: 'Ց', 33: 'Փ', 34: 'Ք', 35: 'Ֆ'}

img = cv2.putText(image_hand,
                                   f"{dict_letter[pred]} - {str(probabs)}",
                                  (x_square, y_square - 5), cv2.FONT_HERSHEY_SIMPLEX,
                                   0.6, (0,0,0), 2)

使用枕头:

代码语言:javascript
复制
            cv2_im_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
                    pil_im = Image.fromarray(cv2_im_rgb)

                    draw = ImageDraw.Draw(pil_im)

# Choose a font
                    font = ImageFont.truetype("/arnamu.ttf", 50)

# Draw the text
                    draw.text((0, 0), dict_letter[pred], font=font)
EN

回答 2

Stack Overflow用户

发布于 2022-04-06 00:15:07

内置矢量字体不随这些字形而来。或者至少你不能依赖这个。有些unicode有好时矢量字体的扩展。我不知道OpenCV是否带着这些。

您可以从freetype存储库中尝试contrib模块。它也有虫子。从右到左的脚本被破坏了。随机用法示例:https://github.com/opencv/opencv/issues/14579 (createFreeType2,在实例上使用loadFontData,然后使用.putText)

在OpenCV v5 (尚未发布日期)中,将提供适当的字体支持。

票数 1
EN

Stack Overflow用户

发布于 2022-04-06 00:30:06

putText()函数在OpenCV中使用好时字体。这是好时可用字符的全套。如果您的特殊语言字符在集合中不可用,这意味着这就是它不能工作的原因。

下面是如何使用枕头来添加文本而不是OpenCV。

代码语言:javascript
复制
from PIL import Image
from PIL import ImageDraw
 
# Open an Image
img = Image.open('my_img.png')
 
I1 = ImageDraw.Draw(img)
 
# Add Text to image
I1.text((28, 36), "nice image", fill=(255, 0, 0))
 
# Display edited image
img.show()
 
# Save the edited image
img.save("my_img2.png")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71759723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档