ashhr commited on
Commit
35ea3ad
ยท
verified ยท
1 Parent(s): 79e0d6d

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +286 -3
README.md CHANGED
@@ -1,3 +1,286 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ ---
4
+ ์ด ํ”„๋กœ์ ํŠธ๋Š” ComfyUI(AGPL-3.0)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜์ •๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
5
+ ์›๋ณธ ํ”„๋กœ์ ํŠธ: https://github.com/comfyanonymous/ComfyUI
6
+ comfy-Custom-mask-nodes
7
+ ์ด ํ”„๋กœ์ ํŠธ๋Š” ComfyUI์šฉ ํ™•์žฅ ๋งˆ์Šคํฌ ์ฒ˜๋ฆฌ ๋…ธ๋“œ๋“ค์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
8
+ ๋งˆ์Šคํฌ ๋ณ€ํ™˜, ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ํ•ฉ์„ฑ ๋“ฑ ๋‹ค์–‘ํ•œ ๋งˆ์Šคํฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
9
+
10
+ ComfyUI ๊ธฐ๋ณธ ๋งˆ์Šคํฌ ๋…ธ๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ,
11
+ ๋งˆ์Šคํฌ ์—ฐ์‚ฐ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋˜ ์•ŒํŒŒ ์ฑ„๋„ ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๊ณ 
12
+ ๋ณด๋‹ค ์•ˆ์ •์ ์ธ ๋งˆ์Šคํฌ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋„๋ก ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
13
+
14
+ -Attention-
15
+
16
+ ์ด ํ”„๋กœ์ ํŠธ๋Š” ComfyUI 0.092์ด์ƒ์—์„œ ์ •์ƒ์ž‘๋™ํ•˜๋Š” ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ComfyUI 11.1์—์„œ๋„ ๊ธฐ๋™ํ•ฉ๋‹ˆ๋‹ค.
17
+ ๊ทธ๋ž˜ํ”ฝ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฒ˜๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— CPU๋‚˜ AMD์—์„œ๋„ ๊ธฐ๋™๋  ๊ฒ๋‹ˆ๋‹ค.
18
+ -
19
+ ์ฃผ์š” ๊ธฐ๋Šฅ (Features)
20
+ Safe MaskToImage Node: ๋งˆ์Šคํฌ๋ฅผ ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ (์˜ˆ: ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ์‹œ๊ฐํ™”).
21
+
22
+ Safe ImageToMask Node: ์ด๋ฏธ์ง€์—์„œ ํŠน์ • ์ฑ„๋„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งˆ์Šคํฌ ์ถ”์ถœ.
23
+
24
+ Safe ImageColorToMask Node: ์ด๋ฏธ์ง€์˜ ํŠน์ • ์ƒ‰์ƒ ๋ฒ”์œ„๋กœ๋ถ€ํ„ฐ ๋งˆ์Šคํฌ ์ƒ์„ฑ.
25
+
26
+ Safe SolidMask Node: ๊ท ์ผํ•œ ๊ฐ’์œผ๋กœ ์ฑ„์›Œ์ง„ ๋งˆ์Šคํฌ ์ƒ์„ฑ.
27
+
28
+ Safe InvertMask Node: ๊ธฐ์กด ๋งˆ์Šคํฌ ๋ฐ˜์ „.
29
+
30
+ Safe ImageCompositeMasked Node: ๋งˆ์Šคํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ํ•ฉ์„ฑ
31
+
32
+ Safe MaskComposite Node: ์—ฌ๋Ÿฌ ๋งˆ์Šคํฌ๋ฅผ ํ•ฉ์„ฑ.
33
+
34
+ Safe CropMask Node: ์ง€์ •๋œ ์˜์—ญ์œผ๋กœ ๋งˆ์Šคํฌ ์ž˜๋ผ๋‚ด๊ธฐ.
35
+
36
+ Safe Select CropMask Node:์•ˆ์ •ํ™”๋…ธ๋“œ. ์ƒํ•˜์ขŒ์šฐ๋กœ ์ง์ ‘ ์ž๋ฅผ ํ”ฝ์…€์„ ์ง€์ •.
37
+
38
+ **ImagePadding : ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ง€์ •ํ•œ ํ”ฝ์…€๋งŒํผ ํŒจ๋”ฉํ•˜์—ฌ ํ™•์žฅ
39
+
40
+ **MaskPadding : ์ž…๋ ฅ ๋งˆ์Šคํฌ๋ฅผ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ง€์ •ํ•œ ํ”ฝ์…€๋งŒํผ ํŒจ๋”ฉํ•˜์—ฌ ํ™•์žฅ
41
+
42
+ Safe FeatherMask Node: ๋งˆ์Šคํฌ์— ํŽ˜๋”๋ง(๋ถ€๋“œ๋Ÿฌ์šด ๊ฐ€์žฅ์ž๋ฆฌ) ์ ์šฉ.
43
+
44
+ Safe GrowMask Node: ๋งˆ์Šคํฌ ์˜์—ญ์˜ ํ”ฝ์…€ํฌ๊ธฐ๋ฅผ ๋ฐ”๊นฅ์ชฝ์œผ๋กœ ํ™•์žฅ(ํ™•์žฅํ”ฝ์…€๊ธฐ์ค€25[์—ฐ์†์œผ๋กœ ์“ฐ๋ฉด ์ถ”๊ฐ€ํ™•์žฅ๊ฐ€๋Šฅ]).
45
+
46
+ Safe ShrinkMask Node: ๋งˆ์Šคํฌ ์˜์—ญ์˜ ํ”ฝ์…€ ํฌ๊ธฐ๋ฅผ ์•ˆ์ชฝ์œผ๋กœ ์ถ•์†Œ.
47
+
48
+ Safe TransformMask Node: ๋งˆ์Šคํฌ ์˜์—ญ์ž์ฒด์˜ ํฌ๊ธฐ๋ฅผ ์ž„์˜ ํ”ฝ์…€๋กœ ์žฌ์กฐ์ •.
49
+
50
+ Safe ThresholdMask Node: ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ๋งˆ์Šคํฌ๋ฅผ ์ž„๊ณ„๊ฐ’์œผ๋กœ ์ด์ง„ ๋งˆ์Šคํฌ๋กœ ๋ณ€ํ™˜.
51
+
52
+ Safe MaskPreview Node: GUI์—์„œ ๋งˆ์Šคํฌ ์ถœ๋ ฅ ๋ฏธ๋ฆฌ๋ณด๊ธฐ.
53
+
54
+ Safe MaskSaveOnly: ๋งˆ์Šคํฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘๋ฐฑ์ด๋ฏธ์ง€๋กœ ์ €์žฅ.
55
+
56
+ Safe MaskSaveLink: ๋งˆ์Šคํฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘๋ฐฑ์ด๋ฏธ์ง€๋กœ ์ €์žฅ ํ›„ ๋งˆ์Šคํฌ ์—ฐ๊ฒฐ์„  ์ถœ๋ ฅ.
57
+
58
+ **SafeMaskChecker : ํŽธ์ง‘ ๋งˆ์Šคํฌ๋ฅผ ์ง€์ • ์ƒ‰์ƒ์œผ๋กœ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์•ˆ์ „ํ•˜๊ฒŒ ํ™•์ธ
59
+
60
+ **SafeMaskDiffChecker : ์›๋ณธ๊ณผ ํŽธ์ง‘ ๋งˆ์Šคํฌ์˜ ์ฐจ์ด๋ฅผ ๊ฐ•์กฐํ•˜์—ฌ ๋ณ€๊ฒฝ๋œ ์˜์—ญ๋งŒ ์‹œ๊ฐํ™”
61
+
62
+ ์„ค์น˜ ๋ฐฉ๋ฒ• (Getting Started)
63
+ Installation
64
+ ZIP ๋‹ค์šด๋กœ๋“œ
65
+ ์ด ์ €์žฅ์†Œ๋ฅผ .zip ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
66
+
67
+ custom_nodes ํด๋”์— ๋ฐฐ์น˜
68
+ ์••์ถ•์„ ํ•ด์ œํ•œ ํ›„, ComfyUI ์„ค์น˜ ๊ฒฝ๋กœ์˜ custom_nodes ๋””๋ ‰ํ† ๋ฆฌ์— ํด๋”๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค.
69
+
70
+ ComfyUI ์žฌ์‹œ์ž‘
71
+ ComfyUI๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๋ฉด ์ƒˆ๋กœ์šด ์ปค์Šคํ…€ ๋…ธ๋“œ๊ฐ€ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.
72
+
73
+ ์‚ฌ์šฉ๋ฒ• (Usage)
74
+ ์—๋””ํ„ฐ
75
+ Safe ImageCompositeMasked Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ๋งˆ์Šคํฌ๋ฅผ ์ด์šฉํ•ด ๋‘ ์ด๋ฏธ์ง€๋ฅผ ํ•ฉ์„ฑํ•  ์ˆ˜ ์žˆ์–ด, ๋ถ€๋ถ„ ํ•ฉ์„ฑ์ด๋‚˜ ๋ธ”๋ Œ๋”ฉ ์ž‘์—…์— ์ ํ•ฉ.
76
+ Inputs:
77
+ destination: ํ•ฉ์„ฑ ๋Œ€์ƒ ์ด๋ฏธ์ง€
78
+ source: ๋ฎ์–ด์”Œ์šธ ์ด๋ฏธ์ง€
79
+ x, y: ์œ„์น˜ ์˜คํ”„์…‹
80
+ mask: ๋ธ”๋ Œ๋”ฉ์„ ์ œ์–ดํ•˜๋Š” ์„ ํƒ์  ๋งˆ์Šคํฌ
81
+ Outputs:
82
+ image: ํ•ฉ์„ฑ๋œ ์ด๋ฏธ์ง€
83
+ Safe CropMask Node : ์•ˆ์ •ํ™”๋Š” ํ–ˆ์ง€๋งŒ ์ž˜๋ผ๋‚ด๋Š” ์œ„์น˜๋Š” ์ถ”๊ฐ€์กฐ์ • ํ•„์š”.
84
+ Inputs:
85
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
86
+ x, y: ์ž˜๋ผ๋‚ผ ์œ„์น˜
87
+ width, height: ์ž˜๋ผ๋‚ผ ํฌ๊ธฐ
88
+ Outputs:
89
+ mask: ์ž˜๋ผ๋‚ธ ๋งˆ์Šคํฌ
90
+ Safe Select CropMask Node : ์‹ ๊ทœ๋…ธ๋“œ. ์ƒํ•˜์ขŒ์šฐ๋กœ ์ง์ ‘ ์ž๋ฅผ ํ”ฝ์…€์„ ์ง€์ •.
91
+ Inputs:
92
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
93
+ L, R, T, B: ์ž˜๋ผ๋‚ผ ์œ„์น˜ ๋ฐ ํฌ๊ธฐ
94
+ Outputs:
95
+ mask: ์ž˜๋ผ๋‚ธ ๋งˆ์Šคํฌ
96
+ Safe MaskComposite Node : ์ถฉ๋Œ ์›์ธ์„ ๊ฐ์†Œ. ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
97
+ Inputs:
98
+ mask_a: ์ฒซ ๋ฒˆ์งธ ๋งˆ์Šคํฌ
99
+ mask_b: ๋‘ ๋ฒˆ์งธ ๋งˆ์Šคํฌ
100
+ blend_mode: ๊ฒฐํ•ฉ ๋ฐฉ์‹ (add, multiply ๋“ฑ)
101
+ Outputs:
102
+ mask: ํ•ฉ์„ฑ๋œ ๋งˆ์Šคํฌ
103
+ Safe FeatherMask Node : ๋งˆ์Šคํฌ ํŽ˜๋”๋ง ๋…ธ๋“œ. ๊ธฐ๋ณธ๋…ธ๋“œ์™€ ํฌ๊ฒŒ ์ฐจ์ด๋Š” ์—†์ง€๋งŒ, ์ถฉ๋Œ ์ž์ฒด๋Š” ์ค„์ž„.
104
+ Inputs:
105
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
106
+ radius: ํŽ˜๋”๋ง ๋ฐ˜๊ฒฝ
107
+ Outputs:
108
+ mask: ํŽ˜๋”๋ง๋œ ๋งˆ์Šคํฌ
109
+ Safe GrowMask Node : ์‹คํ—˜๋…ธ๋“œ. ์•ˆ์ •ํ™”๋Š” ํ–ˆ์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ๋ณด์žฅ์•ˆ๋จ.
110
+ Inputs:
111
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
112
+ amount: ํ™•์žฅํ•  ํ”ฝ์…€ ์ˆ˜
113
+ Outputs:
114
+ mask: ํ™•์žฅ๋œ ๋งˆ์Šคํฌ
115
+ Safe ThresholdMask Node : ์‹คํ—˜๋…ธ๋“œ. ์•ˆ์ •ํ™”๋Š” ํ–ˆ์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ๋ณด์žฅ์•ˆ๋จ.
116
+ Inputs:
117
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
118
+ threshold: ์ž„๊ณ„๊ฐ’ (0โ€“1)
119
+ Outputs:
120
+ mask: ์ด์ง„ํ™”๋œ ๋งˆ์Šคํฌ
121
+ ๊ธฐ๋ณธํ˜•
122
+ Safe MaskToImage Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
123
+ Inputs:
124
+ mask: ๋ณ€ํ™˜ํ•  ๋งˆ์Šคํฌ ํ…์„œ
125
+ Outputs:
126
+ image: ๋งˆ์Šคํฌ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ์ด๋ฏธ์ง€
127
+ Safe ImageToMask Node : ์•ˆ์ •ํ™” ๋…ธ๏ฟฝ๏ฟฝ๏ฟฝ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
128
+ Inputs:
129
+ image: ์›๋ณธ ์ด๋ฏธ์ง€
130
+ channel: ์ถ”์ถœํ•  ์ฑ„๋„ (red, green, blue, alpha)
131
+ Outputs:
132
+ mask: ์ƒ์„ฑ๋œ ๋งˆ์Šคํฌ
133
+ Safe ImageColorToMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ํŠน์ • ์ƒ‰์ƒ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด ๋งˆ์Šคํฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด, ์ƒ‰์ƒ ๊ธฐ๋ฐ˜ ์„ ํƒ ์ž‘์—…์— ์œ ์šฉ.
134
+ Inputs:
135
+ image: ์›๋ณธ ์ด๋ฏธ์ง€
136
+ color: ์ง€์ •๋œ ์ƒ‰์ƒ ๋˜๋Š” ๋ฒ”์œ„
137
+ Outputs:
138
+ mask: ์ƒ‰์ƒ ์„ ํƒ์œผ๋กœ ์ƒ์„ฑ๋œ ๋งˆ์Šคํฌ
139
+ Safe SolidMask Node : ์ถฉ๋Œ ์›์ธ์„ ๊ฐ์†Œ. ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
140
+ Inputs:
141
+ width: ๋งˆ์Šคํฌ ๋„ˆ๋น„
142
+ height: ๋งˆ์Šคํฌ ๋†’์ด
143
+ value: ์ฑ„์šธ ๊ฐ’ (0โ€“1)
144
+ Outputs:
145
+ mask: ๋‹จ์ƒ‰ ๋งˆ์Šคํฌ
146
+ Safe InvertMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
147
+ Inputs:
148
+ mask: ๋ฐ˜์ „ํ•  ๋งˆ์Šคํฌ ํ…์„œ
149
+ Outputs:
150
+ mask: ๋ฐ˜์ „๋œ ๋งˆ์Šคํฌ
151
+ ๊ธฐ๋ณธํ˜•
152
+ Safe MaskToImage Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
153
+ Inputs:
154
+ mask: ๋ณ€ํ™˜ํ•  ๋งˆ์Šคํฌ ํ…์„œ
155
+ Outputs:
156
+ image: ๋งˆ์Šคํฌ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ์ด๋ฏธ์ง€
157
+ Safe ImageToMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
158
+ Inputs:
159
+ image: ์›๋ณธ ์ด๋ฏธ์ง€
160
+ channel: ์ถ”์ถœํ•  ์ฑ„๋„ (red, green, blue, alpha)
161
+ Outputs:
162
+ mask: ์ƒ์„ฑ๋œ ๋งˆ์Šคํฌ
163
+ Safe ImageColorToMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ํŠน์ • ์ƒ‰์ƒ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•ด ๋งˆ์Šคํฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด, ์ƒ‰์ƒ ๊ธฐ๋ฐ˜ ์„ ํƒ ์ž‘์—…์— ์œ ์šฉ.
164
+ Inputs:
165
+ image: ์›๋ณธ ์ด๋ฏธ์ง€
166
+ color: ์ง€์ •๋œ ์ƒ‰์ƒ ๋˜๋Š” ๋ฒ”์œ„
167
+ Outputs:
168
+ mask: ์ƒ‰์ƒ ์„ ํƒ์œผ๋กœ ์ƒ์„ฑ๋œ ๋งˆ์Šคํฌ
169
+ ์—๋””ํ„ฐ
170
+ Safe ImageCompositeMasked Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ๋งˆ์Šคํฌ๋ฅผ ์ด์šฉํ•ด ๋‘ ์ด๋ฏธ์ง€๋ฅผ ํ•ฉ์„ฑํ•  ์ˆ˜ ์žˆ์–ด, ๋ถ€๋ถ„ ํ•ฉ์„ฑ์ด๋‚˜ ๋ธ”๋ Œ๋”ฉ ์ž‘์—…์— ์ ํ•ฉ.
171
+ Inputs:
172
+ destination: ํ•ฉ์„ฑ ๋Œ€์ƒ ์ด๋ฏธ์ง€
173
+ source: ๋ฎ์–ด์”Œ์šธ ์ด๋ฏธ์ง€
174
+ x, y: ์œ„์น˜ ์˜คํ”„์…‹
175
+ mask: ๋ธ”๋ Œ๋”ฉ์„ ์ œ์–ดํ•˜๋Š” ์„ ํƒ์  ๋งˆ์Šคํฌ
176
+ Outputs:
177
+ image: ํ•ฉ์„ฑ๋œ ์ด๋ฏธ์ง€
178
+ Safe MaskComposite Node : ์ถฉ๋Œ ์›์ธ์„ ๊ฐ์†Œ. ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
179
+ Inputs:
180
+ mask_a: ์ฒซ ๋ฒˆ์งธ ๋งˆ์Šคํฌ
181
+ mask_b: ๋‘ ๋ฒˆ์งธ ๋งˆ์Šคํฌ
182
+ blend_mode: ๊ฒฐํ•ฉ ๋ฐฉ์‹ (add, multiply ๋“ฑ)
183
+ Outputs:
184
+ mask: ํ•ฉ์„ฑ๋œ ๋งˆ์Šคํฌ
185
+ ๋ณ€ํ˜•
186
+ Safe SolidMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
187
+ Inputs:
188
+ width: ๋งˆ์Šคํฌ ๋„ˆ๋น„
189
+ height: ๋งˆ์Šคํฌ ๋†’์ด
190
+ value: ์ฑ„์šธ ๊ฐ’ (0โ€“1)
191
+ Outputs:
192
+ mask: ๋‹จ์ƒ‰ ๋งˆ์Šคํฌ
193
+ Safe InvertMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
194
+ Inputs:
195
+ mask: ๋ฐ˜์ „ํ•  ๋งˆ์Šคํฌ ํ…์„œ
196
+ Outputs:
197
+ mask: ๋ฐ˜์ „๋œ ๋งˆ์Šคํฌ
198
+ Safe GrowMask Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ๋งˆ์Šคํฌ์˜ ํ”ฝ์…€ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆผ. ์ตœ๋Œ€์ œํ•œ ํ”ฝ์…€์„ 25๋กœ ๋ณ€๊ฒฝ. ์žฌํ™•์žฅ์‹œ ์ถ”๊ฐ€์—ฐ๊ฒฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
199
+ Inputs:
200
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
201
+ amount: ํ™•์žฅํ•  ํ”ฝ์…€ ์ˆ˜
202
+ Outputs:
203
+ mask: ํ™•์žฅ๋œ ๋งˆ์Šคํฌ
204
+ Safe ShrinkMask Node : ์‹ ๊ทœ๋…ธ๋“œ. ๋งˆ์Šคํฌ์˜ ํ”ฝ์…€์„ ์ž…๋ ฅ์น˜์— ๋น„๋ก€ํ•ด์„œ ์ถ•์†Œํ•ฉ๋‹ˆ๋‹ค.
205
+ Inputs:
206
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
207
+ amount: ์ถ•์†Œํ•  ํ”ฝ์…€ ์ˆ˜
208
+ Outputs:
209
+ mask: ํ™•์žฅ๋œ ๋งˆ์Šคํฌ
210
+ Safe TransformMask Node : ์‹ ๊ทœ๋…ธ๋“œ. ๋งˆ์Šคํฌ๋ฅผ ์ž…๋ ฅ์น˜์— ๋งž์ถฐ ํฌ๊ธฐ๋ฅผ ์กฐ์ •. ํ”ฝ์…€๋‹จ์œ„๋กœ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
211
+ Inputs:
212
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
213
+ amount: ์กฐ์ •ํ•  ๊ฐ€๋กœ ํ”ฝ์…€ ์ˆ˜
214
+ amount: ์กฐ์ •ํ•  ์„ธ๋กœ ํ”ฝ์…€ ์ˆ˜
215
+ Outputs:
216
+ mask: ๋ณ€ํ˜•๋œ ๋งˆ์Šคํฌ
217
+ Safe ThresholdMask Node : ์•ˆ์ •ํ™”๋…ธ๋“œ. ์ž„๊ณ„๊ฐ’์— ๋งž์ถฐ ๋งˆ์Šคํฌ๋ฅผ ์ด์ง„ํ™”ํ•ฉ๋‹ˆ๋‹ค.
218
+ Inputs:
219
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
220
+ threshold: ์ž„๊ณ„๊ฐ’ (0โ€“1)
221
+ Outputs:
222
+ mask: ์ด์ง„ํ™”๋œ ๋งˆ์Šคํฌ
223
+ ImagePadding Node : ์ด๋ฏธ์ง€์˜ ์บ”๋ฒ„์Šค ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๋Š˜๋ ค์„œ ์น ํ•จ. ํ‘๋ฐฑ ์ง€์›, ๊ฒฝ๊ณ„ ํŽ˜๋”๋ง ์ง€์›. ์ด๋ฏธ์ง€๊ฐ€ ์›๋ณธ์ด์–ด์„œ ์—๋Ÿฌ์œ„ํ—˜์ด ์žˆ์–ด์–ด๋„ ๋ฆฌํ„ด ํ›„ ๋ณด์ •์ฒ˜๋ฆฌํ•˜์—ฌ ์ ์šฉํ•จ.
224
+ Inputs:
225
+ image : ์ž…๋ ฅ ์ด๋ฏธ์ง€(๋ฐฐ์น˜๋ฐ์ดํ„ฐ ์ฒดํ‚น ํ›„ ์•„๋‹Œ๊ฒฝ์šฐ ๋ฐฐ์น˜์ฐจ์› ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฆฌํ„ด ํ›„ ์žฌ์—ฐ๊ฒฐ)
226
+ pad_top, pad_bottom, pad_left, pad_right : ๊ฐ ๋ฐฉํ–ฅ๋ณ„ ํŒจ๋”ฉ ํฌ๊ธฐ
227
+ padding_color : ํŒจ๋”ฉ ์˜์—ญ ์ƒ‰์ƒ(black/white)
228
+ feather_strength : ํŒจ๋”ฉ ๊ฒฝ๊ณ„ ํŽ˜๋”๋ง ๊ฐ•๋„
229
+ Outputs:
230
+ `image : ํŒจ๋”ฉ์ด ์ ์šฉ๋œ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋ฐฉ์‹ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐ์น˜ ์ฐจ์› ๋ณด์ • ํ›„ ์ง€์ •ํ•œ ํ”ฝ์…€๋งŒํผ ์ƒํ•˜์ขŒ์šฐ์— ํŒจ๋”ฉ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์„ ํƒํ•œ ์ƒ‰์ƒ์œผ๋กœ ์ฑ„์›€
231
+ MaskPadding Node : ๋งˆ์Šคํฌ์˜ ์บ”๋ฒ„์Šค ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๋Š˜๋ ค์„œ ์น ํ•จ. ํ‘๋ฐฑ ์ง€์›, ๊ฒฝ๊ณ„ ํŽ˜๋”๋ง ์ง€์›. ๋งˆ์Šคํฌ๋ฐ์ดํ„ฐ๊ฐ€ ์›๋ณธ์ด์–ด์„œ ์—๋Ÿฌ์œ„ํ—˜์ด ์žˆ์–ด๋„ ๋ฆฌํ„ด ํ›„ ๋ณด์ •์ฒ˜๋ฆฌํ•˜์—ฌ ์ ์šฉํ•จ.
232
+ Inputs:
233
+ mask : ์ž…๋ ฅ ๋งˆ์Šคํฌ(๋ฐฐ์น˜๋ฐ์ดํ„ฐ ์ฒดํ‚น ํ›„ ์•„๋‹Œ๊ฒฝ์šฐ ๋ฐฐ์น˜์ฐจ์› ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฆฌํ„ด ํ›„ ์žฌ์—ฐ๊ฒฐ)
234
+ `pad_top, pad_bottom, pad_left, pad_right : ๊ฐ ๋ฐฉํ–ฅ๋ณ„ ํŒจ๋”ฉ ํฌ๊ธฐ
235
+ padding_color : ํŒจ๋”ฉ ์˜์—ญ ์ƒ‰์ƒ(black/white)
236
+ feather_strength : ํŒจ๋”ฉ ๊ฒฝ๊ณ„ ํŽ˜๋”๋ง ๊ฐ•๋„
237
+ Outputs:
238
+ mask : ํŒจ๋”ฉ์ด ์ ์šฉ๋œ ๋งˆ์Šคํฌ ์ฒ˜๋ฆฌ๋ฐฉ์‹ ์ž…๋ ฅ ๋งˆ์Šคํฌ๋ฅผ ๋ฐฐ์น˜ ์ฐจ์› ๋ณด์ • ํ›„ ์ง€์ •ํ•œ ํ”ฝ์…€๋งŒํผ ์ƒํ•˜์ขŒ์šฐ์— ํŒจ๋”ฉ์„ ์ถ”๊ฐ€ํ•˜๏ฟฝ๏ฟฝ ์„ ํƒํ•œ ์ƒ‰์ƒ์œผ๋กœ ์ฑ„์›€
239
+ ์ปทํŒ…
240
+ Safe CropMask Node : ์•ˆ์ •ํ™”๋Š” ํ–ˆ์ง€๋งŒ ์ž˜๋ผ๋‚ด๋Š” ์œ„์น˜๋Š” ์ถ”๊ฐ€์กฐ์ • ํ•„์š”. ๊ธฐ๋ณธ๊ฐ’์€ ์™ผ์ชฝ ์œ„์ž…๋‹ˆ๋‹ค.
241
+ Inputs:
242
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
243
+ x, y: ์ž˜๋ผ๋‚ผ ์œ„์น˜
244
+ width, height: ์ž˜๋ผ๋‚ผ ํฌ๊ธฐ
245
+ Outputs:
246
+ mask: ์ž˜๋ผ๋‚ธ ๋งˆ์Šคํฌ
247
+ Safe Select CropMask Node : ์•ˆ์ •ํ™”๋…ธ๋“œ. ์ค‘์•™์„ ๊ธฐ์ค€์œผ๋กœ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ง์ ‘ ์ž๋ฅผ ํ”ฝ์…€์„ ์ง€์ •.
248
+ Inputs:
249
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
250
+ L, R, T, B: ์ž˜๋ผ๋‚ผ ์œ„์น˜ ๋ฐ ํฌ๊ธฐ
251
+ Outputs:
252
+ mask: ์ž˜๋ผ๋‚ธ ๋งˆ์Šคํฌ
253
+ Safe FeatherMask Node : ๋งˆ์Šคํฌ ํŽ˜๋”๋ง ๋…ธ๋“œ. ๊ธฐ๋ณธ๋…ธ๋“œ์™€ ํฌ๊ฒŒ ์ฐจ์ด๋Š” ์—†์ง€๋งŒ, ์ถฉ๋Œ ์ž์ฒด๋Š” ์ค„์ž„.
254
+ Inputs:
255
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
256
+ radius: ํŽ˜๋”๋ง ๋ฐ˜๊ฒฝ
257
+ Outputs:
258
+ mask: ํŽ˜๋”๋ง๋œ ๋งˆ์Šคํฌ
259
+ ์ฒด์ปค
260
+ Safe MaskPreview Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. '๊ฐ’์ด ๋‚จ์•„์žˆ๊ธด ํ•˜๋‹ค๋ฉด', ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.(๊นจ์ง€๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •.)
261
+ Inputs:
262
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
263
+ Outputs:
264
+ image: ๋งˆ์Šคํฌ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ด๋ฏธ์ง€
265
+ Safe MaskSaveOnly Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ๋งˆ์Šคํฌ๋ฅผ ์ฝ๊ณ  '์ฝคํ”ผUI ์ถœ๋ ฅ ํด๋”์˜ ๋งˆ์Šคํฌํด๋”์— ์ €์žฅ'. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
266
+ Inputs:
267
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
268
+ Safe MaskSaveLink Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ๋งˆ์Šคํฌ๋ฅผ ์ฝ๊ณ  '์ฝคํ”ผUI ์ถœ๋ ฅ ํด๋”์˜ ๋งˆ์Šคํฌํด๋”์— ์ €์žฅ ํ›„' ๋งˆ์Šคํฌ ์ถœ๋ ฅ ๋…ธ๋“œ๋กœ ์—ฐ๊ฒฐ. ์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ฆฌํ„ดํ•˜์—ฌ ์•ˆ์ •ํ™”๋ฅผ ์œ ๋„ํ•ด ์žฌ์ถœ๋ ฅํ•จ.
269
+ Inputs:
270
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
271
+ Outputs:
272
+ mask: ๋งˆ์Šคํฌ ํ…์„œ
273
+ SafeMaskChecker Node : ์•ˆ์ •ํ™” ๋…ธ๋“œ. ์›๋ณธ์ด๋ฏธ์ง€์˜ ๋งˆ์Šคํฌ ์œ„์— ์ˆ˜์ •๋งˆ์Šคํฌ๋ฅผ ๋ฎ์–ด์„œ ์ด๋ฏธ์ง€ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์— ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์ „ํ™•์ธ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ.(๊นจ์ง€๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •.)
274
+ Inputs:
275
+ base_mask : ๊ธฐ์ค€ ๋งˆ์Šคํฌ(์›๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋งˆ์Šคํฌ ์ปจ๋ฒ„ํŠธ๋กœ ์ถœ๋ ฅํ›„ ์—ฐ๊ฒฐ)
276
+ edit_mask : ํŽธ์ง‘ ๋งˆ์Šคํฌ(๋งˆ์Šคํฌ ์—๋””ํ„ฐ๋กœ ์ˆ˜์ •์˜์—ญ ๊ทธ๋ฆฐ ํ›„ ์—ฐ๊ฒฐ)
277
+ color : ํ‘œ์‹œ ์ƒ‰์ƒ(red/green/blue)
278
+ Outputs:
279
+ preview : ํŽธ์ง‘ ๋งˆ์Šคํฌ๋ฅผ ์ƒ‰์ƒ ์˜ค๋ฒ„๋ ˆ์ด๋กœ ํ‘œํ˜„ํ•œ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋ฐฉ์‹ ํŽธ์ง‘ ๋งˆ์Šคํฌ๋ฅผ ํ‘๋ฐฑ ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ ํ›„ ์„ ํƒํ•œ ์ƒ‰์ƒ์œผ๋กœ ์˜ค๋ฒ„๋ ˆ์ดํ•˜์—ฌ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์ถœ๋ ฅ
280
+ SafeMaskDiffChecker Node : ์›๋ณธ์ด๋ฏธ์ง€์˜ ๋งˆ์Šคํฌ์™€ ์ˆ˜์ •๋งˆ์Šคํฌ์˜ ์ฐจ์ด์ ์„ ๋Œ€์กฐ ํ›„ ๋ณ€๊ฒฝ์˜ˆ์ƒ์ ์„ ์ด๋ฏธ์ง€ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์— ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์ „ํ™•์ธ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ.(๊นจ์ง€๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •.)
281
+ Inputs:
282
+ base_mask : ์›๋ณธ ๋งˆ์Šคํฌ(์›๋ณธ์ด๋ฏธ์ง€๋ฅผ ๋งˆ์Šคํฌ ์ปจ๋ฒ„ํŠธ๋กœ ์ถœ๋ ฅํ›„ ์—ฐ๊ฒฐ)
283
+ edit_mask : ์ˆ˜์ • ๋งˆ์Šคํฌ(๋งˆ์Šคํฌ ์—๋””ํ„ฐ๋กœ ์ˆ˜์ •์˜์—ญ ๊ทธ๋ฆฐ ํ›„ ์—ฐ๊ฒฐ)
284
+ color : ๊ฐ•์กฐ ์ƒ‰์ƒ(red/green/blue)
285
+ Outputs:
286
+ preview : ๋ณ€๊ฒฝ๋œ ์˜์—ญ์„ ์ƒ‰์ƒ์œผ๋กœ ๊ฐ•์กฐํ•œ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋ฐฉ์‹ ์›๋ณธ๊ณผ ํŽธ์ง‘ ๋งˆ์Šคํฌ๋ฅผ ๋น„๊ตํ•˜์—ฌ ์ฐจ์ด ์˜์—ญ๋งŒ ์ถ”์ถœ, ์ „์ฒด ์˜์—ญ์€ ๋ฐ˜ํˆฌ๋ช… ์ฒ˜๋ฆฌํ•˜๊ณ  ์ฐจ์ด ์˜์—ญ์€ ์ง€์ • ์ƒ‰์ƒ์œผ๋กœ ๊ฐ•์กฐ