メインコンテンツへスキップ
見出し画像

T14_ChatGPTだけで完結!キャラクターと背景を簡単合成する驚きの方法

    人生に感謝を。シンパクト和 です。
    今日は、私が実際にやってみた画像合成の方法をみなさんにシェアします。例えば、あなたのお気に入りのキャラクターを素敵な背景に配置して、自分だけのオリジナル画像を作ってみたいと思ったこと、ありませんか?
    私も同じことを考えて、この方法をChatGPTと相談しながら完成させました。

    画像
    元画像2つ

    これを読めば、あなたも簡単に挑戦できますよ。

    使うのは、ChatGPTです。Pythonというプログラミング言語と「Pillow」という画像処理ライブラリを利用します。プログラミング初心者でもChatGPTのおかけで簡単にできちゃうので、一緒にやってみましょう!


    1. 画像を準備しよう!

    次に、合成したい画像を2つ準備します。まずはキャラクター画像、そして背景画像です。

    • キャラクター画像:こちらは、透明な背景の画像(PNG形式)がベストです。背景が透明だと、キャラクター部分だけがきれいに背景に合成されるので見栄えが良くなります。 私の場合は「clipdrop」の「背景を削除」機能を使って、キャラクターの背景をサクッと消しています。clipdropは無料でかなりの画像編集ができてとても便利なので、気になったらチェックしてみてください!(https://clipdrop.co/tools)

    • 背景画像:どんな背景がいいかな?私は海とか街の風景、幻想的なイラストなどを使うのが好きです。自分の好きなものを自由に選んでください。AIで生成した画像もいいですね。

    画像
    準備したキャラクター画像
    画像
    準備した背景画像

    2.失敗例

    ChatGPTがAdvanced Data Analysis でなんとかしてくれるだろうと、下記のように適当にやってみました。
    2枚の画像を添付して指示入力。

    画像

    確かに合成してくれた!でもうまくいっていませんね。

    画像



    3. ChatGPTでコードの中身を検証

    from PIL import Image
    
    # 背景画像とキャラクター画像を読み込む
    background = Image.open('background_image.jpg')  # 背景画像のパス
    character = Image.open('character_image.png')  # キャラクター画像のパス
    
    # 画像サイズをチェック
    bg_width, bg_height = background.size
    char_width, char_height = character.size
    
    # キャラクターの位置を決めよう(ここでは左上に配置)
    position = (50, 50)  # キャラクター画像の位置
    
    # キャラクター画像を背景に貼り付ける(透明部分を考慮して合成)
    background.paste(character, position, character)  # 第3引数でマスクを指定
    
    # 合成された画像を保存して表示
    background.save('combined_image.png')
    background.show()

    ChatGPTが実行しているコードをChatGPTにコピペして、下記のように要望を伝えて、コードを書き換えてもらいました。
    「キャラクターのサイズを変更しないで優先してください。
    キャラクターに背景サイズを合わせてください。
    背景は必要な部分のみにしてトリミングしてください。」
    コードだけでなく、指示文章も適切に整理してもらいました。


    4. 書き換えた指示文書+コードで再チャレンジ

    キャラクター画像添付前にclipdrop(https://clipdrop.co/tools)などの無料ツールを使用して背景を透過します。png形式の画像にします。

    2枚の画像を添付して、下記紹介のプロンプトを貼り付けて実行。

    画像

    下記を、ChatGPTへコピペして使用すれば、あなたも同じ結果が得られます。

    今回のChatGPTプロンプト_プレゼント

    キャラクターと背景の合成にあたり、以下の点に注意して調整を行ってください:

    1. キャラクターのサイズを変更せずに優先的に合成すること。

    2. 背景画像のトリミングを行い、必要な部分のみに限定してください。キャラクターのサイズに合わせて背景を調整し、不要な部分は除去してください。

    3. 色合いについて、キャラクターと背景のバランスを調整して、自然な合成に見えるようにしてください。

    4. 合成の際は、キャラクターが背景に対して中央に配置されるようにしてくださいが、適宜配置の調整を検討してください。

    from PIL import Image, ImageEnhance
    
    # 背景画像とキャラクター画像のパスを設定
    background_path = "path/to/background_image.jpg"
    character_path = "path/to/character_image.png"
    
    # 画像を読み込む
    background = Image.open(background_path)
    character = Image.open(character_path)
    
    # 背景画像のサイズをキャラクターに合わせてトリミング
    left = (background.width - character.width) // 2
    top = (background.height - character.height) // 2
    right = left + character.width
    bottom = top + character.height
    
    # 必要部分のみをトリミング
    background = background.crop((left, top, right, bottom))
    
    # RGBA変換
    background = background.convert("RGBA")
    character = character.convert("RGBA")
    
    # 色合いの調整 (オプション)
    enhancer = ImageEnhance.Color(background)
    background = enhancer.enhance(1.2)  # 色合いを調整(例: 1.2倍)
    
    # キャラクター画像を背景画像に配置(中央に配置)
    character_position = (
        (background.width - character.width) // 2,
        (background.height - character.height) // 2
    )
    
    # 合成処理
    combined_image = Image.alpha_composite(background, Image.new("RGBA", background.size))
    combined_image.paste(character, character_position, character)
    
    # 保存または表示
    output_path = "path/to/output_image.png"
    combined_image.save(output_path)
    combined_image.show()
    

    5. お試し!合成結果はどうだった?

    さあ、コードを実行してみましょう。合成された画像ができたときの嬉しさは格別です!背景とキャラクターがうまく合成されて、まるでオリジナルのイラストみたいになります。

    画像

    6. おわりに

    どうですか?画像合成って意外と簡単で楽しいですよね!私も最初は「こんなことできるのかな?」って不安でしたが、試してみたら案外できちゃいました。今では色々な背景やキャラクターを組み合わせて、自分だけのオリジナル画像を作るのが楽しくて仕方ないです。

    ChatGPTとPythonコードを使うと、画像処理がとっても簡単にできるので、もっといろんなことに挑戦してみてください!例えば、画像をクロップしてみたり、フィルターをかけてみたり、文字を追加してみたり、無限の可能性が広がっています。
    ぜひあなたも、自分だけの作品を作って楽しんでみてくださいね!

    人生の限りある時間をクリエイティブに。シンパクト和でした。

     
     
    (思考アルゴリズム+AI)×スキルで時間を生み出す人 | 数学教師 | 40代 | 妻と猫3人暮らし | iPad❤️ | Excel✨ | PC・生成AIで自動化✨ | 結びAIジェネシス

    あなたへのおすすめ