2016-05-31 96 views
0

我想將任意系統支持字體的字符串打印到圖像中,但是,因爲我知道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還應包括操縱諸如具有隨機的角度和位移的旋轉和平移的字符一些代碼。

任何想法?

回答

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

+0

謝謝您的回答。我沒有提到清楚,因爲我仍然想對字符做一些處理,例如旋轉等等。 –

+0

您還可以從Imagemagick訪問http://www.pango.org/ – Bonzo