我有一个程序应该在屏幕上显示一些文字,这一切都很好,直到我得到特殊(unicode)字符(在这种情况下,慕尼黑,ü)。
当我使用OpenCV时,它只会打印一个'?',而我不知道如何将文本写入位图的另一种可行方法。我也在OpenCV中尝试了使用addText的Qt,它增加了一些方块。
我知道如何在没有太多麻烦的情况下做到这一点吗?
编辑:我想使用位图或类似的,因为我每帧都手动生成图像的一部分,并使用OpenCV,并且很容易将生成的位图嵌入其中。
答案 0 :(得分:0)
OpenCV putText
(对QT支持的addText
不太了解)函数还不支持unicode。如果您对要使用的库类型不太了解,可以随时安装(或最好从源代码构建)ImageMagick库。然后,您可以使用提供的C ++ API(Magick ++)。
#include <Magick++.h>
int main()
{
Magick::Image image;
image.read("image.bmp");
image.annotate("üüüüüüüüüüüüüüüüü", Magick::CenterGravity);
image.display();
}