接續昨天,調整成自己的 Load Image 後,大小就變固定了,所以可以加一個 Upscale Image,位置在 image -> upscaling -> Upscale Image。
把影像接過去,設好大小後,再接到 VAE encoder。Upscale Image 中的 upscale_method 可以選不同的演算法。
https://en.wikipedia.org/wiki/Image_scaling
串起來後運行,可以看到影像大小成功變動了。
接著試試 inpainting 的功能。加一個 Load Image(as Mask),在 mask -> Load Image(as Mask)。
我用之前狗狗的範例圖來測試,但是要調整一下,Load Image(as Mask) 中有個 channel 選項,可以選說 mask 的通道,選項只有四個,是 RGB 跟透明,原本的狗狗範例是白的,沒辦法用。所以我把狗狗 mask 改成紅色,可以直接拿這下面兩張去測。
接著把紅色 mask 上傳到 Load Image(as Mask) 中, channel 選項調成 red。
選圖的方式跟 Load Image 一樣點一下 choose file to upload 就可以了。
我們還要把原本的 VAE encoder 改成 VAE encoder(for inpainting),這樣才能接上 mask。他的位置在 latnet -> inpaint -> VAE encoder(for inpainting)。
VAE encoder(for inpainting) 中有一個選項是 grow_mask_by,文件上說是可以增加 mask 的面積,先不動,稍後再測。
https://blenderneko.github.io/ComfyUI-docs/Core%20Nodes/Latent/inpaint/VAEEncodeForInpainting/
Load Image(as Mask) 接到 VAE encoder(for inpainting)上,其他都一樣。
最後把 prompt 改成 "A majestic tiger sitting on a bench",negative prompt 留空,這樣就跟之前測的範例一樣了,放下去跑跑看。
成品跟之前一樣有點一言難盡,但至少還是完成任務了。
最後來調整 VAE encoder(for inpainting) 中的 grow_mask_by 看看,他的最大值可以設到 64,就設到最大看看效果。雖然還是很微妙,但看的出來影響範圍有變大。