🦊画像合成
🏠 | 🦊雑に学ぶComfyUI
👈️ | 🦊AIによるマスク生成
👉️ |
二つの画像を重ねたり横並べしたりする…
Photoshopなら画像をドラッグして上に持っていくだけの簡単なものですが、ノードでこれをやろうとすると一苦労です
inpainting処理などで避けられない場面もありますが、難しいことは諦めてペイントツール使うのも全然ありです
重ねる
https://gyazo.com/a74929158d8bfd7eb816692247b61520
ImageComposite.json
🟩ImageCompositeMaskedノード
destinationが背面、sourceが全面です
左上を基準にx/yで位置を調整することができます
https://gyazo.com/1140f8fa94c67dc07bb785dc215c3eb3
ImageComposite_Center.json
CSSでおなじみposition: absolute;での中央揃えのような処理を挟めば中央に配置できますが、まあ、めんどくさいですね(;・∀・)nomadoor.icon
🟨resize_sourceをtrueにすると、destinationを基準にsource画像が引き伸ばされます
下処理として二つの画像のアスペクト比を同じにしてから使うことが多いです
前面に透過画像を重ねる
改めて、Stable Diffusionではアルファチャンネルを扱えないため、ComfyUIでは透過画像は、RGB画像 + マスクという形で読み込まれます
そのため、画像を重ねる場合はレイヤー的な処理ではなく、「マスクされた部分をsource画像で置き換える」と考える必要があります
https://gyazo.com/487364e44dcd24a53398c31325abfc23
ImageCompositeMasked.json
透過画像の透過部分はマスクとして読み込まれます
このマスクの部分をsource画像(ピンクの空画像)に置き換えます
出力される画像のサイズは、destinationに入力している画像に合わせられます
resize_sourceをtrueにすると、source画像がdestinationと同じサイズになるように引き伸ばされます
🫠source画像歪んじゃう対策
https://gyazo.com/4c01fc5fa88b9744f8d0e0759df3f510
ImageCompositeMasked_resize.json
source画像はdestination画像と同じサイズにリサイズされるため、それぞれの画像の大きさが違う場合、source画像が歪んでしまいます
🟨一番簡単な解決方法は、同じサイズになるようにクロップすることです
with セグメンテーション
大事な処理なのでもう一つ例を出しましょう
https://gyazo.com/c848c0f8e8d3ee590ba7ae09e8db7e68
ImageCompositeMasked_Segmentation.json
今度はマスクされた部分を単色で埋めます
🟪入力画像からマスク(今回はdressでセグメンテーション)を作ります
🟨今度は前面sourceにEmptyImageノードを繋げます
背面と前面の大きさが違いますね、今回前面は単色なので歪みを気にする必要がありません
🟩resize_sourceをtrueにして大きさを合わせます
最初は感覚が掴みづらいとは思いますが、徐々に慣れていきましょう
画像をつなぎ合わせる
https://gyazo.com/4ce9346ef269709f6456f0fcd5832a9c
Get_Image_Size.json
Image Stitchノードによって画像を並べます
横並び/縦並び、向きを設定できます
https://gyazo.com/18d0555fd1d0bd01ead60b3992662cb0
Image Concatenate From Batch.json
Stitchノードを複数使えば3枚、4枚と並べられますが、それ以上に枚数がある場合は、Image Concatenate From Batchノード(ComfyUI-KJNodesを使うと、スマートに処理できますよ
画像のブレンド
https://gyazo.com/0c3dbad0a36a0399e7e12301a4b58638
Image Blend.json
他アプリでいうレイヤーの合成モードのようなものの内、ごく単純なものが実装されています
cf. https://help.clip-studio.com/ja-jp/manual_jp/180_layers/%E5%90%88%E6%88%90%E3%83%A2%E3%83%BC%E3%83%89%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B.htm合成モードを設定する