このページでは、Pythonを使って以下の画像のように画像に日本語の文字列を追加する方法をご紹介していきます。
文字の色、位置、書体まで自由に変更できるようになっています。
それではさっそくやっていきましょう。
必要なライブラリ
今回はPillowというライブラリを使っていきます。
まずはPython上で
Import PIL
を実行し、インストールされているかを確認しましょう。
エラーが出た場合はまずはインストールから進めましょう。
画像に日本語の文字列を挿入するサンプルコード
それでは早速ですが、画像に日本語文字列を挿入するサンプルコードをご紹介します。
※sample.jpgというファイルがこのプログラムの保存場所と同じフォルダに配置されていることを前提に書いています。
なお、処理後の画像も同じフォルダにadd_text.jpgという名前で出力されます。
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
#読み込む画像のファイル名
pic_name='sample.jpg'
#挿入する文字列
ins_text='ヒガサラblog'
#文字を配置っするピクセル数を指定(左上が基準)
pos_x=1000
pos_y=600
#文字サイズを指定
font_size=150
#フォントの種類を指定
font_path="C:\Windows\Fonts\HGRPP1.TTC"
#RGBで文字色指定
font_color=(255,0,0)
#処理開始
img = Image.open(pic_name)
font = ImageFont.truetype(font_path, font_size)
ImageDraw.Draw(img).text((pos_x, pos_y), ins_text, font = font , fill = font_color)
img.save('add_text.jpg', quality=100)
いろいろと書いていますが、基本的には、16行目までの必要な情報をひとつひとつ入力していくだけでOKです。
こいつを実行すると、冒頭に紹介したような赤い文字を配置することができます。
14行目のフォントの種類を指定するところは少し難しいので以降で詳細に解説しておきます。
使いたいフォントを指定する方法
先ほどのコード内でフォントの種類を指定する箇所があったと思います。
ここの指定方法を解説しておきます。
①まずは適当なフォルダを開いて、パスを指定する欄にC:\Windows\Fontsを入力します。
⇒以下のようにフォント一覧フォルダに移動します。
②使いたいフォントを選んで右クリック⇒プロパティを選択
③フォントのファイル名をコピーしてコードに張り付ける
※フォルダのパスと組み合わせてフルパスで指定します。
たったのこれだけです。
なお、②の工程で右クリックしてもプロパティが出てこない場合もあります。
その場合は該当するフォントをダブルクリックします。
すると先ほど選択したフォントの派生フォントが出てきますので、その中からまた使いたいフォントを選択して右クリック⇒プロパティを選択します。
これで先ほどと同様にフォントのファイル名を確認できますので、コピーしてコードに張り付けます。
このような派生フォントを使う場合はフォルダのパスも変わっていきますので、フォルダのパスを変更することをお忘れなく!
これでひと通りの使い方がわかったはずです。
おわりに
というわけで今回はpythonを使って、画像に文字列を挿入する方法をご紹介しました。
openCVではなかなか難しいので、Pillowを使った画像処理もできるようになっておきましょう。
このように、私のブログでは様々なスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
にほんブログ村
それではまた!
Follow @HigashiSalary
コメント