comfyui_SafeMask_kr / README.md
ashhr's picture
Update README.md
35ea3ad verified
|
Raw
History Blame Contribute Delete
12.7 kB
---
license: apache-2.0
---
์ด ํ”„๋กœ์ ํŠธ๋Š” ComfyUI(AGPL-3.0)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜์ •๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
์›๋ณธ ํ”„๋กœ์ ํŠธ: https://github.com/comfyanonymous/ComfyUI
comfy-Custom-mask-nodes
์ด ํ”„๋กœ์ ํŠธ๋Š” ComfyUI์šฉ ํ™•์žฅ ๋งˆ์Šคํฌ ์ฒ˜๋ฆฌ ๋…ธ๋“œ๋“ค์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
๋งˆ์Šคํฌ ๋ณ€ํ™˜, ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ํ•ฉ์„ฑ ๋“ฑ ๋‹ค์–‘ํ•œ ๋งˆ์Šคํฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
ComfyUI ๊ธฐ๋ณธ ๋งˆ์Šคํฌ ๋…ธ๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ,
๋งˆ์Šคํฌ ์—ฐ์‚ฐ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋˜ ์•ŒํŒŒ ์ฑ„๋„ ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๊ณ 
๋ณด๋‹ค ์•ˆ์ •์ ์ธ ๋งˆ์Šคํฌ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋„๋ก ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
-Attention-
์ด ํ”„๋กœ์ ํŠธ๋Š” ComfyUI 0.092์ด์ƒ์—์„œ ์ •์ƒ์ž‘๋™ํ•˜๋Š” ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ComfyUI 11.1์—์„œ๋„ ๊ธฐ๋™ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ž˜ํ”ฝ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฒ˜๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— CPU๋‚˜ AMD์—์„œ๋„ ๊ธฐ๋™๋  ๊ฒ๋‹ˆ๋‹ค.
-
์ฃผ์š” ๊ธฐ๋Šฅ (Features)
Safe MaskToImage Node: ๋งˆ์Šคํฌ๋ฅผ ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ (์˜ˆ: ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ์‹œ๊ฐํ™”).
Safe ImageToMask Node: ์ด๋ฏธ์ง€์—์„œ ํŠน์ • ์ฑ„๋„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งˆ์Šคํฌ ์ถ”์ถœ.
Safe ImageColorToMask Node: ์ด๋ฏธ์ง€์˜ ํŠน์ • ์ƒ‰์ƒ ๋ฒ”์œ„๋กœ๋ถ€ํ„ฐ ๋งˆ์Šคํฌ ์ƒ์„ฑ.
Safe SolidMask Node: ๊ท ์ผํ•œ ๊ฐ’์œผ๋กœ ์ฑ„์›Œ์ง„ ๋งˆ์Šคํฌ ์ƒ์„ฑ.
Safe InvertMask Node: ๊ธฐ์กด ๋งˆ์Šคํฌ ๋ฐ˜์ „.
Safe ImageCompositeMasked Node: ๋งˆ์Šคํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ํ•ฉ์„ฑ
Safe MaskComposite Node: ์—ฌ๋Ÿฌ ๋งˆ์Šคํฌ๋ฅผ ํ•ฉ์„ฑ.
Safe CropMask Node: ์ง€์ •๋œ ์˜์—ญ์œผ๋กœ ๋งˆ์Šคํฌ ์ž˜๋ผ๋‚ด๊ธฐ.
Safe Select CropMask Node:์•ˆ์ •ํ™”๋…ธ๋“œ. ์ƒํ•˜์ขŒ์šฐ๋กœ ์ง์ ‘ ์ž๋ฅผ ํ”ฝ์…€์„ ์ง€์ •.
**ImagePadding : ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ง€์ •ํ•œ ํ”ฝ์…€๋งŒํผ ํŒจ๋”ฉํ•˜์—ฌ ํ™•์žฅ
**MaskPadding : ์ž…๋ ฅ ๋งˆ์Šคํฌ๋ฅผ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ง€์ •ํ•œ ํ”ฝ์…€๋งŒํผ ํŒจ๋”ฉํ•˜์—ฌ ํ™•์žฅ
Safe FeatherMask Node: ๋งˆ์Šคํฌ์— ํŽ˜๋”๋ง(๋ถ€๋“œ๋Ÿฌ์šด ๊ฐ€์žฅ์ž๋ฆฌ) ์ ์šฉ.
Safe GrowMask Node: ๋งˆ์Šคํฌ ์˜์—ญ์˜ ํ”ฝ์…€ํฌ๊ธฐ๋ฅผ ๋ฐ”๊นฅ์ชฝ์œผ๋กœ ํ™•์žฅ(ํ™•์žฅํ”ฝ์…€๊ธฐ์ค€25[์—ฐ์†์œผ๋กœ ์“ฐ๋ฉด ์ถ”๊ฐ€ํ™•์žฅ๊ฐ€๋Šฅ]).
Safe ShrinkMask Node: ๋งˆ์Šคํฌ ์˜์—ญ์˜ ํ”ฝ์…€ ํฌ๊ธฐ๋ฅผ ์•ˆ์ชฝ์œผ๋กœ ์ถ•์†Œ.
Safe TransformMask Node: ๋งˆ์Šคํฌ ์˜์—ญ์ž์ฒด์˜ ํฌ๊ธฐ๋ฅผ ์ž„์˜ ํ”ฝ์…€๋กœ ์žฌ์กฐ์ •.
Safe ThresholdMask Node: ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ๋งˆ์Šคํฌ๋ฅผ ์ž„๊ณ„๊ฐ’์œผ๋กœ ์ด์ง„ ๋งˆ์Šคํฌ๋กœ ๋ณ€ํ™˜.
Safe MaskPreview Node: GUI์—์„œ ๋งˆ์Šคํฌ ์ถœ๋ ฅ ๋ฏธ๋ฆฌ๋ณด๊ธฐ.
Safe MaskSaveOnly: ๋งˆ์Šคํฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘๋ฐฑ์ด๋ฏธ์ง€๋กœ ์ €์žฅ.
Safe MaskSaveLink: ๋งˆ์Šคํฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘๋ฐฑ์ด๋ฏธ์ง€๋กœ ์ €์žฅ ํ›„ ๋งˆ์Šคํฌ ์—ฐ๊ฒฐ์„  ์ถœ๋ ฅ.
**SafeMaskChecker : ํŽธ์ง‘ ๋งˆ์Šคํฌ๋ฅผ ์ง€์ • ์ƒ‰์ƒ์œผ๋กœ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์•ˆ์ „ํ•˜๊ฒŒ ํ™•์ธ
**SafeMaskDiffChecker : ์›๋ณธ๊ณผ ํŽธ์ง‘ ๋งˆ์Šคํฌ์˜ ์ฐจ์ด๋ฅผ ๊ฐ•์กฐํ•˜์—ฌ ๋ณ€๊ฒฝ๋œ ์˜์—ญ๋งŒ ์‹œ๊ฐํ™”
์„ค์น˜ ๋ฐฉ๋ฒ• (Getting Started)
Installation
ZIP ๋‹ค์šด๋กœ๋“œ
์ด ์ €์žฅ์†Œ๋ฅผ .zip ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
custom_nodes ํด๋”์— ๋ฐฐ์น˜
์••์ถ•์„ ํ•ด์ œํ•œ ํ›„, ComfyUI ์„ค์น˜ ๊ฒฝ๋กœ์˜ custom_nodes ๋””๋ ‰ํ† ๋ฆฌ์— ํด๋”๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค.
ComfyUI ์žฌ์‹œ์ž‘
ComfyUI๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๋ฉด ์ƒˆ๋กœ์šด ์ปค์Šคํ…€ ๋…ธ๋“œ๊ฐ€ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ๋ฒ• (Usage)
์—๋””ํ„ฐ
Safe ImageCompositeMasked Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ๋งˆ์Šคํฌ๋ฅผ ์ด์šฉํ•ด ๋‘ ์ด๋ฏธ์ง€๋ฅผ ํ•ฉ์„ฑํ•  ์ˆ˜ ์žˆ์–ด, ๋ถ€๋ถ„ ํ•ฉ์„ฑ์ด๋‚˜ ๋ธ”๋ Œ๋”ฉ ์ž‘์—…์— ์ ํ•ฉ.
Inputs:
destination: ํ•ฉ์„ฑ ๋Œ€์ƒ ์ด๋ฏธ์ง€
source: ๋ฎ์–ด์”Œ์šธ ์ด๋ฏธ์ง€
x, y: ์œ„์น˜ ์˜คํ”„์…‹
mask: ๋ธ”๋ Œ๋”ฉ์„ ์ œ์–ดํ•˜๋Š” ์„ ํƒ์  ๋งˆ์Šคํฌ
Outputs:
image: ํ•ฉ์„ฑ๋œ ์ด๋ฏธ์ง€
Safe CropMask Node : ์•ˆ์ •ํ™”๋Š” ํ–ˆ์ง€๋งŒ ์ž˜๋ผ๋‚ด๋Š” ์œ„์น˜๋Š” ์ถ”๊ฐ€์กฐ์ • ํ•„์š”.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
x, y: ์ž˜๋ผ๋‚ผ ์œ„์น˜
width, height: ์ž˜๋ผ๋‚ผ ํฌ๊ธฐ
Outputs:
mask: ์ž˜๋ผ๋‚ธ ๋งˆ์Šคํฌ
Safe Select CropMask Node : ์‹ ๊ทœ๋…ธ๋“œ. ์ƒํ•˜์ขŒ์šฐ๋กœ ์ง์ ‘ ์ž๋ฅผ ํ”ฝ์…€์„ ์ง€์ •.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
L, R, T, B: ์ž˜๋ผ๋‚ผ ์œ„์น˜ ๋ฐ ํฌ๊ธฐ
Outputs:
mask: ์ž˜๋ผ๋‚ธ ๋งˆ์Šคํฌ
Safe MaskComposite Node : ์ถฉ๋Œ ์›์ธ์„ ๊ฐ์†Œ. ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
mask_a: ์ฒซ ๋ฒˆ์งธ ๋งˆ์Šคํฌ
mask_b: ๋‘ ๋ฒˆ์งธ ๋งˆ์Šคํฌ
blend_mode: ๊ฒฐํ•ฉ ๋ฐฉ์‹ (add, multiply ๋“ฑ)
Outputs:
mask: ํ•ฉ์„ฑ๋œ ๋งˆ์Šคํฌ
Safe FeatherMask Node : ๋งˆ์Šคํฌ ํŽ˜๋”๋ง ๋…ธ๋“œ. ๊ธฐ๋ณธ๋…ธ๋“œ์™€ ํฌ๊ฒŒ ์ฐจ์ด๋Š” ์—†์ง€๋งŒ, ์ถฉ๋Œ ์ž์ฒด๋Š” ์ค„์ž„.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
radius: ํŽ˜๋”๋ง ๋ฐ˜๊ฒฝ
Outputs:
mask: ํŽ˜๋”๋ง๋œ ๋งˆ์Šคํฌ
Safe GrowMask Node : ์‹คํ—˜๋…ธ๋“œ. ์•ˆ์ •ํ™”๋Š” ํ–ˆ์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ๋ณด์žฅ์•ˆ๋จ.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
amount: ํ™•์žฅํ•  ํ”ฝ์…€ ์ˆ˜
Outputs:
mask: ํ™•์žฅ๋œ ๋งˆ์Šคํฌ
Safe ThresholdMask Node : ์‹คํ—˜๋…ธ๋“œ. ์•ˆ์ •ํ™”๋Š” ํ–ˆ์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ๋ณด์žฅ์•ˆ๋จ.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
threshold: ์ž„๊ณ„๊ฐ’ (0โ€“1)
Outputs:
mask: ์ด์ง„ํ™”๋œ ๋งˆ์Šคํฌ
๊ธฐ๋ณธํ˜•
Safe MaskToImage Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
mask: ๋ณ€ํ™˜ํ•  ๋งˆ์Šคํฌ ํ…์„œ
Outputs:
image: ๋งˆ์Šคํฌ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ์ด๋ฏธ์ง€
Safe ImageToMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
image: ์›๋ณธ ์ด๋ฏธ์ง€
channel: ์ถ”์ถœํ•  ์ฑ„๋„ (red, green, blue, alpha)
Outputs:
mask: ์ƒ์„ฑ๋œ ๋งˆ์Šคํฌ
Safe ImageColorToMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ํŠน์ • ์ƒ‰์ƒ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด ๋งˆ์Šคํฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด, ์ƒ‰์ƒ ๊ธฐ๋ฐ˜ ์„ ํƒ ์ž‘์—…์— ์œ ์šฉ.
Inputs:
image: ์›๋ณธ ์ด๋ฏธ์ง€
color: ์ง€์ •๋œ ์ƒ‰์ƒ ๋˜๋Š” ๋ฒ”์œ„
Outputs:
mask: ์ƒ‰์ƒ ์„ ํƒ์œผ๋กœ ์ƒ์„ฑ๋œ ๋งˆ์Šคํฌ
Safe SolidMask Node : ์ถฉ๋Œ ์›์ธ์„ ๊ฐ์†Œ. ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
width: ๋งˆ์Šคํฌ ๋„ˆ๋น„
height: ๋งˆ์Šคํฌ ๋†’์ด
value: ์ฑ„์šธ ๊ฐ’ (0โ€“1)
Outputs:
mask: ๋‹จ์ƒ‰ ๋งˆ์Šคํฌ
Safe InvertMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
mask: ๋ฐ˜์ „ํ•  ๋งˆ์Šคํฌ ํ…์„œ
Outputs:
mask: ๋ฐ˜์ „๋œ ๋งˆ์Šคํฌ
๊ธฐ๋ณธํ˜•
Safe MaskToImage Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
mask: ๋ณ€ํ™˜ํ•  ๋งˆ์Šคํฌ ํ…์„œ
Outputs:
image: ๋งˆ์Šคํฌ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ์ด๋ฏธ์ง€
Safe ImageToMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
image: ์›๋ณธ ์ด๋ฏธ์ง€
channel: ์ถ”์ถœํ•  ์ฑ„๋„ (red, green, blue, alpha)
Outputs:
mask: ์ƒ์„ฑ๋œ ๋งˆ์Šคํฌ
Safe ImageColorToMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ํŠน์ • ์ƒ‰์ƒ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด ๋งˆ์Šคํฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด, ์ƒ‰์ƒ ๊ธฐ๋ฐ˜ ์„ ํƒ ์ž‘์—…์— ์œ ์šฉ.
Inputs:
image: ์›๋ณธ ์ด๋ฏธ์ง€
color: ์ง€์ •๋œ ์ƒ‰์ƒ ๋˜๋Š” ๋ฒ”์œ„
Outputs:
mask: ์ƒ‰์ƒ ์„ ํƒ์œผ๋กœ ์ƒ์„ฑ๋œ ๋งˆ์Šคํฌ
์—๋””ํ„ฐ
Safe ImageCompositeMasked Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ๋งˆ์Šคํฌ๋ฅผ ์ด์šฉํ•ด ๋‘ ์ด๋ฏธ์ง€๋ฅผ ํ•ฉ์„ฑํ•  ์ˆ˜ ์žˆ์–ด, ๋ถ€๋ถ„ ํ•ฉ์„ฑ์ด๋‚˜ ๋ธ”๋ Œ๋”ฉ ์ž‘์—…์— ์ ํ•ฉ.
Inputs:
destination: ํ•ฉ์„ฑ ๋Œ€์ƒ ์ด๋ฏธ์ง€
source: ๋ฎ์–ด์”Œ์šธ ์ด๋ฏธ์ง€
x, y: ์œ„์น˜ ์˜คํ”„์…‹
mask: ๋ธ”๋ Œ๋”ฉ์„ ์ œ์–ดํ•˜๋Š” ์„ ํƒ์  ๋งˆ์Šคํฌ
Outputs:
image: ํ•ฉ์„ฑ๋œ ์ด๋ฏธ์ง€
Safe MaskComposite Node : ์ถฉ๋Œ ์›์ธ์„ ๊ฐ์†Œ. ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
mask_a: ์ฒซ ๋ฒˆ์งธ ๋งˆ์Šคํฌ
mask_b: ๋‘ ๋ฒˆ์งธ ๋งˆ์Šคํฌ
blend_mode: ๊ฒฐํ•ฉ ๋ฐฉ์‹ (add, multiply ๋“ฑ)
Outputs:
mask: ํ•ฉ์„ฑ๋œ ๋งˆ์Šคํฌ
๋ณ€ํ˜•
Safe SolidMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
width: ๋งˆ์Šคํฌ ๋„ˆ๋น„
height: ๋งˆ์Šคํฌ ๋†’์ด
value: ์ฑ„์šธ ๊ฐ’ (0โ€“1)
Outputs:
mask: ๋‹จ์ƒ‰ ๋งˆ์Šคํฌ
Safe InvertMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
mask: ๋ฐ˜์ „ํ•  ๋งˆ์Šคํฌ ํ…์„œ
Outputs:
mask: ๋ฐ˜์ „๋œ ๋งˆ์Šคํฌ
Safe GrowMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ๋งˆ์Šคํฌ์˜ ํ”ฝ์…€ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆผ. ์ตœ๋Œ€์ œํ•œ ํ”ฝ์…€์„ 25๋กœ ๋ณ€๊ฒฝ. ์žฌํ™•์žฅ์‹œ ์ถ”๊ฐ€์—ฐ๊ฒฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
amount: ํ™•์žฅํ•  ํ”ฝ์…€ ์ˆ˜
Outputs:
mask: ํ™•์žฅ๋œ ๋งˆ์Šคํฌ
Safe ShrinkMask Node : ์‹ ๊ทœ๋…ธ๋“œ. ๋งˆ์Šคํฌ์˜ ํ”ฝ์…€์„ ์ž…๋ ฅ์น˜์— ๋น„๋ก€ํ•ด์„œ ์ถ•์†Œํ•ฉ๋‹ˆ๋‹ค.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
amount: ์ถ•์†Œํ•  ํ”ฝ์…€ ์ˆ˜
Outputs:
mask: ํ™•์žฅ๋œ ๋งˆ์Šคํฌ
Safe TransformMask Node : ์‹ ๊ทœ๋…ธ๋“œ. ๋งˆ์Šคํฌ๋ฅผ ์ž…๋ ฅ์น˜์— ๋งž์ถฐ ํฌ๊ธฐ๋ฅผ ์กฐ์ •. ํ”ฝ์…€๋‹จ์œ„๋กœ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
amount: ์กฐ์ •ํ•  ๊ฐ€๋กœ ํ”ฝ์…€ ์ˆ˜
amount: ์กฐ์ •ํ•  ์„ธ๋กœ ํ”ฝ์…€ ์ˆ˜
Outputs:
mask: ๋ณ€ํ˜•๋œ ๋งˆ์Šคํฌ
Safe ThresholdMask Node : ์•ˆ์ •ํ™”๋…ธ๋“œ. ์ž„๊ณ„๊ฐ’์— ๋งž์ถฐ ๋งˆ์Šคํฌ๋ฅผ ์ด์ง„ํ™”ํ•ฉ๋‹ˆ๋‹ค.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
threshold: ์ž„๊ณ„๊ฐ’ (0โ€“1)
Outputs:
mask: ์ด์ง„ํ™”๋œ ๋งˆ์Šคํฌ
ImagePadding Node : ์ด๋ฏธ์ง€์˜ ์บ”๋ฒ„์Šค ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๋Š˜๋ ค์„œ ์น ํ•จ. ํ‘๋ฐฑ ์ง€์›, ๊ฒฝ๊ณ„ ํŽ˜๋”๋ง ์ง€์›. ์ด๋ฏธ์ง€๊ฐ€ ์›๋ณธ์ด์–ด์„œ ์—๋Ÿฌ์œ„ํ—˜์ด ์žˆ์–ด์–ด๋„ ๋ฆฌํ„ด ํ›„ ๋ณด์ •์ฒ˜๋ฆฌํ•˜์—ฌ ์ ์šฉํ•จ.
Inputs:
image : ์ž…๋ ฅ ์ด๋ฏธ์ง€(๋ฐฐ์น˜๋ฐ์ดํ„ฐ ์ฒดํ‚น ํ›„ ์•„๋‹Œ๊ฒฝ์šฐ ๋ฐฐ์น˜์ฐจ์› ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฆฌํ„ด ํ›„ ์žฌ์—ฐ๊ฒฐ)
pad_top, pad_bottom, pad_left, pad_right : ๊ฐ ๋ฐฉํ–ฅ๋ณ„ ํŒจ๋”ฉ ํฌ๊ธฐ
padding_color : ํŒจ๋”ฉ ์˜์—ญ ์ƒ‰์ƒ(black/white)
feather_strength : ํŒจ๋”ฉ ๊ฒฝ๊ณ„ ํŽ˜๋”๋ง ๊ฐ•๋„
Outputs:
`image : ํŒจ๋”ฉ์ด ์ ์šฉ๋œ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋ฐฉ์‹ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐ์น˜ ์ฐจ์› ๋ณด์ • ํ›„ ์ง€์ •ํ•œ ํ”ฝ์…€๋งŒํผ ์ƒํ•˜์ขŒ์šฐ์— ํŒจ๋”ฉ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์„ ํƒํ•œ ์ƒ‰์ƒ์œผ๋กœ ์ฑ„์›€
MaskPadding Node : ๋งˆ์Šคํฌ์˜ ์บ”๋ฒ„์Šค ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๋Š˜๋ ค์„œ ์น ํ•จ. ํ‘๋ฐฑ ์ง€์›, ๊ฒฝ๊ณ„ ํŽ˜๋”๋ง ์ง€์›. ๋งˆ์Šคํฌ๋ฐ์ดํ„ฐ๊ฐ€ ์›๋ณธ์ด์–ด์„œ ์—๋Ÿฌ์œ„ํ—˜์ด ์žˆ์–ด๋„ ๋ฆฌํ„ด ํ›„ ๋ณด์ •์ฒ˜๋ฆฌํ•˜์—ฌ ์ ์šฉํ•จ.
Inputs:
mask : ์ž…๋ ฅ ๋งˆ์Šคํฌ(๋ฐฐ์น˜๋ฐ์ดํ„ฐ ์ฒดํ‚น ํ›„ ์•„๋‹Œ๊ฒฝ์šฐ ๋ฐฐ์น˜์ฐจ์› ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฆฌํ„ด ํ›„ ์žฌ์—ฐ๊ฒฐ)
`pad_top, pad_bottom, pad_left, pad_right : ๊ฐ ๋ฐฉํ–ฅ๋ณ„ ํŒจ๋”ฉ ํฌ๊ธฐ
padding_color : ํŒจ๋”ฉ ์˜์—ญ ์ƒ‰์ƒ(black/white)
feather_strength : ํŒจ๋”ฉ ๊ฒฝ๊ณ„ ํŽ˜๋”๋ง ๊ฐ•๋„
Outputs:
mask : ํŒจ๋”ฉ์ด ์ ์šฉ๋œ ๋งˆ์Šคํฌ ์ฒ˜๋ฆฌ๋ฐฉ์‹ ์ž…๋ ฅ ๋งˆ์Šคํฌ๋ฅผ ๋ฐฐ์น˜ ์ฐจ์› ๋ณด์ • ํ›„ ์ง€์ •ํ•œ ํ”ฝ์…€๋งŒํผ ์ƒํ•˜์ขŒ์šฐ์— ํŒจ๋”ฉ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์„ ํƒํ•œ ์ƒ‰์ƒ์œผ๋กœ ์ฑ„์›€
์ปทํŒ…
Safe CropMask Node : ์•ˆ์ •ํ™”๋Š” ํ–ˆ์ง€๋งŒ ์ž˜๋ผ๋‚ด๋Š” ์œ„์น˜๋Š” ์ถ”๊ฐ€์กฐ์ • ํ•„์š”. ๊ธฐ๋ณธ๊ฐ’์€ ์™ผ์ชฝ ์œ„์ž…๋‹ˆ๋‹ค.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
x, y: ์ž˜๋ผ๋‚ผ ์œ„์น˜
width, height: ์ž˜๋ผ๋‚ผ ํฌ๊ธฐ
Outputs:
mask: ์ž˜๋ผ๋‚ธ ๋งˆ์Šคํฌ
Safe Select CropMask Node : ์•ˆ์ •ํ™”๋…ธ๋“œ. ์ค‘์•™์„ ๊ธฐ์ค€์œผ๋กœ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ง์ ‘ ์ž๋ฅผ ํ”ฝ์…€์„ ์ง€์ •.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
L, R, T, B: ์ž˜๋ผ๋‚ผ ์œ„์น˜ ๋ฐ ํฌ๊ธฐ
Outputs:
mask: ์ž˜๋ผ๋‚ธ ๋งˆ์Šคํฌ
Safe FeatherMask Node : ๋งˆ์Šคํฌ ํŽ˜๋”๋ง ๋…ธ๋“œ. ๊ธฐ๋ณธ๋…ธ๋“œ์™€ ํฌ๊ฒŒ ์ฐจ์ด๋Š” ์—†์ง€๋งŒ, ์ถฉ๋Œ ์ž์ฒด๋Š” ์ค„์ž„.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
radius: ํŽ˜๋”๋ง ๋ฐ˜๊ฒฝ
Outputs:
mask: ํŽ˜๋”๋ง๋œ ๋งˆ์Šคํฌ
์ฒด์ปค
Safe MaskPreview Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. '๊ฐ’์ด ๋‚จ์•„์žˆ๊ธด ํ•˜๋‹ค๋ฉด', ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.(๊นจ์ง€๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •.)
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
Outputs:
image: ๋งˆ์Šคํฌ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ด๋ฏธ์ง€
Safe MaskSaveOnly Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ๋งˆ์Šคํฌ๋ฅผ ์ฝ๊ณ  '์ฝคํ”ผUI ์ถœ๋ ฅ ํด๋”์˜ ๋งˆ์Šคํฌํด๋”์— ์ €์žฅ'. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
Safe MaskSaveLink Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ๋งˆ์Šคํฌ๋ฅผ ์ฝ๊ณ  '์ฝคํ”ผUI ์ถœ๋ ฅ ํด๋”์˜ ๋งˆ์Šคํฌํด๋”์— ์ €์žฅ ํ›„' ๋งˆ์Šคํฌ ์ถœ๋ ฅ ๋…ธ๋“œ๋กœ ์—ฐ๊ฒฐ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
Inputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
Outputs:
mask: ๋งˆ์Šคํฌ ํ…์„œ
SafeMaskChecker Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์›๋ณธ์ด๋ฏธ์ง€์˜ ๋งˆ์Šคํฌ ์œ„์— ์ˆ˜์ •๋งˆ์Šคํฌ๋ฅผ ๋ฎ์–ด์„œ ์ด๋ฏธ์ง€ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์— ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์ „ํ™•์ธ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ.(๊นจ์ง€๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •.)
Inputs:
base_mask : ๊ธฐ์ค€ ๋งˆ์Šคํฌ(์›๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋งˆ์Šคํฌ ์ปจ๋ฒ„ํŠธ๋กœ ์ถœ๋ ฅํ›„ ์—ฐ๊ฒฐ)
edit_mask : ํŽธ์ง‘ ๋งˆ์Šคํฌ(๋งˆ์Šคํฌ ์—๋””ํ„ฐ๋กœ ์ˆ˜์ •์˜์—ญ ๊ทธ๋ฆฐ ํ›„ ์—ฐ๊ฒฐ)
color : ํ‘œ์‹œ ์ƒ‰์ƒ(red/green/blue)
Outputs:
preview : ํŽธ์ง‘ ๋งˆ์Šคํฌ๋ฅผ ์ƒ‰์ƒ ์˜ค๋ฒ„๋ ˆ์ด๋กœ ํ‘œํ˜„ํ•œ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋ฐฉ์‹ ํŽธ์ง‘ ๋งˆ์Šคํฌ๋ฅผ ํ‘๋ฐฑ ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ ํ›„ ์„ ํƒํ•œ ์ƒ‰์ƒ์œผ๋กœ ์˜ค๋ฒ„๋ ˆ์ดํ•˜์—ฌ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์ถœ๋ ฅ
SafeMaskDiffChecker Node : ์›๋ณธ์ด๋ฏธ์ง€์˜ ๋งˆ์Šคํฌ์™€ ์ˆ˜์ •๋งˆ์Šคํฌ์˜ ์ฐจ์ด์ ์„ ๋Œ€์กฐ ํ›„ ๋ณ€๊ฒฝ์˜ˆ์ƒ์ ์„ ์ด๋ฏธ์ง€ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์— ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์ „ํ™•์ธ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ.(๊นจ์ง€๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •.)
Inputs:
base_mask : ์›๋ณธ ๋งˆ์Šคํฌ(์›๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋งˆ์Šคํฌ ์ปจ๋ฒ„ํŠธ๋กœ ์ถœ๋ ฅํ›„ ์—ฐ๊ฒฐ)
edit_mask : ์ˆ˜์ • ๋งˆ์Šคํฌ(๋งˆ์Šคํฌ ์—๋””ํ„ฐ๋กœ ์ˆ˜์ •์˜์—ญ ๊ทธ๋ฆฐ ํ›„ ์—ฐ๊ฒฐ)
color : ๊ฐ•์กฐ ์ƒ‰์ƒ(red/green/blue)
Outputs:
preview : ๋ณ€๊ฒฝ๋œ ์˜์—ญ์„ ์ƒ‰์ƒ์œผ๋กœ ๊ฐ•์กฐํ•œ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋ฐฉ์‹ ์›๋ณธ๊ณผ ํŽธ์ง‘ ๋งˆ์Šคํฌ๋ฅผ ๋น„๊ตํ•˜์—ฌ ์ฐจ์ด ์˜์—ญ๋งŒ ์ถ”์ถœ, ์ „์ฒด ์˜์—ญ์€ ๋ฐ˜ํˆฌ๋ช… ์ฒ˜๋ฆฌํ•˜๊ณ  ์ฐจ์ด ์˜์—ญ์€ ์ง€์ • ์ƒ‰์ƒ์œผ๋กœ ๊ฐ•์กฐ