見出し画像

[年賀状に使える] StableDiffusionで飾り文字を作る

年賀状作成の時期はやや既に逸してしまったような気がしますが、以前、twitterに投稿した飾り文字の作り方を記事に起こしていなかったのを思い出したので、この機会に説明しておこうと思いました。

今回紹介するのは、上のような個性的な飾り文字の作り方です。

文字の下書きの作成

まずは、文字の下書きを作ります。適当なペイントソフトを立ち上げて、ロゴの文字を配置した白黒画像を作ります。ここでは、mspaintを使います。

Windows-Rで「ファイル名を指定して実行」を立ち上げ、"mspaint"と入力してアプリを起動します。

ファイル名を指定して実行

「画像のプロパティ」から画像のサイズを指定します。例えば、縦512px、横512pxとします。

画像のプロパティ

「文字ツール」を選択して、好きな文字を入力します。フォントとサイズはツールバーから指定します。

文字ツール

このような文字の下書き画像が出来上がりました。

文字の下書き

ControlNetを使って画像生成する

後は、文字の下書き画像からエッジ画像を作って、ControlNetのCannyを使って画像生成すれば完成です。好きなStableDiffusionのフロントエンドを使って画像生成することができます。

ここでは、Layered Diffusion Pipelineを使います。まず、こちらを参考に、Google Colabで環境設定します。

次に、こちらを参考に、ControlNetの設定をします。

文字の下書き画像を、akeome.pngとしてGoogle Colabにアップロードして、次のスクリプトを実行します。

image = pipe(
      num_steps=30,
      size=(512, 512),
      rand_seed=rand_seed,
      iterate=[
        Layer(
            prompt = "deep forest, fireflies",
            negative_prompt = "EasyNegative",
            cfg_scale=9,
        ),
      ],
      controlnet=ControlNet().Add(
          ctn_canny, "akeome.png", post_scale=0.8, pre_scale=1.0,
          detector=GradationCanny(1.0)
      ),
  )

promptの部分を変えることで、ロゴ画像のテーマを変えることができます。以下、いろいろなpromptで生成したサンプル画像です。

deep forest, fireflies
neon sign
water drops, ripples, transparent
dawn, cloud, earth

この記事が気に入ったらサポートをしてみませんか?