🦊画像合成
🏠 | 🦊雑に学ぶ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画像が引き伸ばされます
下処理として二つの画像のアスペクト比を同じにしてから使うことが多いです
前面に透過画像を重ねる
よく使う大事な処理なのでゆっくり
https://gyazo.com/325a5acfff0ab3be44eeac4034bde6dc
ImageCompositeMasked.json
🟩先程と同じ様にImageCompositeMaskedノードを使いますが、今回はmaskにも入力します
🟪適当な背景を用意します
画像の幅/高さを取得し、それと同じ大きさの画像をEmptyImageノードで作ります
🟨マスクは白い方が処理する部分でした。透過画像のマスクをそのまま使うと背景の方が残ってしまうので反転させます
実践編 マスクの部分を埋める
大事な処理なのでもう一つ例を出しましょう
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合成モードを設定する