機械学習用にいろいろなテキストが入った文字を用意したかったので
ImageMagickで生成できるテキスト画像について調べた。
Contents
テキスト入りの画像を作る
ImageMagickで文字を描画するには次のコマンドを用いる
基本のコマンド:
convert -font フォント -pointsize 文字ポイントサイズ label:文字列 出力ファイル名
“Sample”という文字の入ったJPEG画像を作る。
convert -font Arial.ttf -pointsize 32 label:Sample sample.jpg
文字色と背景色を指定する。
convert -font Arial.ttf -fill blue -background gray -pointsize 32 label:Sample sample.jpg
画像のサイズを200×200にして、文字を中央に配置する。
convert -size 200x200 -gravity center -font Arial.ttf -fill blue -background gray -pointsize 32 label:Sample sample.jpg
フォントの指定
ImageMagickで使用できるフォントの一覧を表示するには以下のコマンドを実行する。
convert -list font
-list fontで表示されるフォントの名前を-fontで指定するとそのフォントで文字が描画される。
-list fontで表示されるもの以外のフォントを使いたいときは-fontにttfファイルのパスを指定する。
オプション
文字入りテキストを作るときによく使うオプション。
- -font
- 描画に用いるフォント。ttfファイルのパスを指定
- -pointsize
- 文字の大きさ。ポイントで指定
- -fill
- 文字色。black, white, blue等
- -background
- 背景色。black, white, blue等
- -size
- 横x縦のピクセル指定。200×100は横200ピクセル縦100ピクセルの大きさ
- -gravity
- 縦横を指定している場合に文字をどこに置くか。
NorthWest: 左上
North: 上
NorthEast: 右上
West: 左
Center: 中央
East: 右
SouthWest: 左下
South: 下
SouthEast: 右下
ImageMagickの全てのオプションはこちら
http://www.imagemagick.org/script/command-line-options.php
ImageMagickで使用できる色の一覧
ImageMagickで色を指定するときは色の名前かクォーテーションで囲ったカラーコードで指定する。
convert -bordercolor lime -border 10 image.jpg image.png
convert -bordercolor ‘#0f0’ -border 10 image.jpg image.png
convert -bordercolor ‘#00ff00’ -border 10 image.jpg image.png
convert -bordercolor ‘rgb(0,255,0)’ -border 10 image.jpg image.png
convert -bordercolor ‘rgb(0,100%,0)’ -border 10 image.jpg image.png
色の一覧
http://www.imagemagick.org/script/color.php
フォント見本
おまけ。
ImageMagickでフォントの見本が簡単に作成できる。
ttfファイルをJPEG等の画像フォーマットに変換するとフォント見本になる。
convert Arial.ttf arial_index.jpg