将文字放入图片

时间:2016-05-31 06:28:01

标签: image fonts draw

我想将具有任意系统支持字体的字符串打印到图像中,但是,据我所知,OpenCV中的内置函数putText仅支持有限字体。具体来说,我想要的功能是这样的(如果用C ++编写):

void drawString(string& s, Image& I, string& fontName)
{
    ...
}

调用它drawString("this is a string", I, "Times New Roman")将以Times New Roman字体打印字符串,drawString("this is another string", I, "Helvetica")将以Helvetica字体打印字符串。

我更喜欢使用C ++,但任何其他语言也都可以。

函数drawString还应该包含一些关于操纵字符的代码,例如随机角度和位移的旋转和平移。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

根据我的经验,ImageMagick是一个很棒的通用图像处理工具链和API。

命令行和API之间有明确的对应关系。因此,您可以直接从shell执行命令:

 convert temp.jpg -gravity Center -pointsize 30 -annotate 0 '1Il|iO0oB8' temp1.jpg 

... Which maps directly to the Magick++ API

Image