Files
2nd/10_Wiki/Topics/Comfyui/위키 Annotated Examples - ComfyUI 2026-05-20.md
T
koriweb a3f63e56e2 Add ComfyUI wikified docs and youtube extracts; tidy raw→Topics
- 10_Wiki/Comfyui/: ComfyUI docs generated via /wikify
- 00_Raw/_youtube/: /youtube extraction outputs
- Move some 00_Raw originals into 10_Wiki/Topics_meeting; remove empty canvases and stray files

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 18:41:10 +09:00

96 lines
5.2 KiB
Markdown

---
id: annotated-examples---comfyui
title: "Annotated Examples - ComfyUI"
category: "10_Wiki/Topics"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: []
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.8
created_at: 2026-05-20
updated_at: 2026-05-20
review_reason: ""
merge_history: []
tags: ["web", "wikify"]
raw_sources: ["https://docs.comfy.org/custom-nodes/backend/snippets"]
applied_in: []
github_commit: ""
---
# [[Annotated Examples - ComfyUI]]
## 🎯 한 줄 통찰 (One-line insight)
[[ComfyUI]]의 기능 구현을 위한 이미지, 마스크, 노이즈 처리 관련 코드 예제 및 구현 방법론을 제공한다.
## 🧠 핵심 개념 (Core concepts)
- **Images and Masks**: [[Load an image]], [[Save an image batch]], [[Invert a mask]] 등 이미지와 마스크 데이터의 조작 기법.
- **Mask Transformation**: 마스크를 특정 형태(`[B,H,W,C]`)로 변환하거나 투명도 레이어(Transparency Layers)로 활용하는 방법.
나머지 개념은 코드 구현을 위한 구체적인 로직과 [[Noise]] 생성 전략을 포함함.
## 🧩 추출된 패턴 (Extracted patterns)
- **데이터 정규화 및 변환**: 이미지를 처리할 때 `exif_transpose`를 적용하거나, 마스크의 범위를 `[0,1]`로 정규화하여 연산하는 패턴.
- **차원 확장(Dimension Expansion)**: 마스크 데이터의 형태가 불일치할 경우 `None` 또는 `unsqueeze`를 사용하여 채널(`C`)이나 배치(`B`) 차원을 맞추는 구조적 접근.
- **가중치 기반 혼합**: 두 개의 노이즈 소스를 `weight2` 값을 통해 선형 결합하여 변동성을 생성하는 방식.
## 📖 세부 내용 (Details)
### 🖼️ Images and Masks 구현 예제
#### [[Load an image]]
[[LoadImage]]의 소스 코드를 기반으로, 이미지를 배치 크기 1로 로드하는 과정입니다.
- `Image.open`을 통해 경로에서 이미지를 불러온 후 `exif_transpose`를 적용합니다.
- 모드가 `'I'`인 경우 값을 `1/255`로 스케일링합니다.
- 최종적으로 `torch.from_numpy`를 사용하여 `float32` 타입의 텐서로 변환하며, 배치 차원을 추가합니다.
#### [[Save an image batch]]
[[SaveImage]] 소스 코드를 기반으로, 이미지 배치를 저장하는 과정입니다.
- 각 이미지에 대해 `cpu().numpy()`를 통해 넘파이 배열로 변환합니다.
- `np.clip`을 사용하여 값을 `[0, 255]` 범위로 제한하고 `uint8` 타입으로 변환합니다.
- 지정된 경로(`filepath`)에 저장합니다.
#### [[Invert a mask]]
마스크를 반전시키는 단순 프로세스입니다. 마스크는 `[0,1]` 범위로 정규화되어 있으므로 다음과 같이 계산합니다.
- `mask = 1.0 - mask`
#### [[Convert a mask to Image shape]]
마스크의 형태를 `[B, H, W, C]` 구조(C=1)로 맞추기 위한 조건부 차원 확장 로직입니다.
- `len(mask.shape)==2` (H,W): `[None, :, :, None]` 적용.
- `len(mask.shape)==3``C=1` (H,W,C): `[None, :, :, :]` 적용.
- `len(mask.shape)==3` (B,H,W): `[:, :, :, None]` 적용.
#### [[Using Masks as Transparency Layers]]
마스크를 인페인팅이나 세그멘테이션의 투명 레이어로 활용하는 방법입니다.
- 마스크 값을 반전시켜 원래의 투명도 레이어로 복구하거나, 채널(`C`) 차원을 `unsqueeze(-1)`로 확장합니다.
- `torch.cat`을 사용하여 RGB 이미지와 마스크를 채널 축(`dim=-1`)을 따라 결합하여 RGBA 이미지를 생성할 수 있습니다.
### 🔊 Noise Generation
#### [[Creating noise variations]]
두 가지 노이즈 소스를 혼합하여 새로운 노이즈 객체를 생성하는 예제입니다.
- `Noise_MixedNoise` 클래스는 `noise1`, `noise2`, 그리고 가중치 `weight2`를 속성으로 가집니다.
- `generate_noise` 메서드는 `noise1 * (1.0 - self.weight2) + noise2 * self.weight2` 공식을 통해 혼합된 노이즈를 생성합니다.
## ⚖️ 모의 및 업데이트 (Contradictions & updates)
본문에서 확인되지 않음
## 🛠️ 적용 사례 (Applied in summary)
- **이미지 처리 파이프라인**: `torch.Tensor` 기반의 이미지 로드, 변환, 저장 로직 구현 시 활용 가능.
- **마스크 조작**: 인페인팅(Inpainting)을 위한 마스크 투명도 레이어 생성 및 차원 재구성 작업.
- **노이즈 제어**: 가중치 조절을 통한 노이즈 변동성(Noise variations) 생성 실험.
## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** B (Primary Source — 웹사이트 본문 직접 추출)
- **중복 검사 결과:** 신규 생성 (New discovery)
## 🔗 관련 문서 링크 (Related document links)
- [[ComfyUI]] : 이 문서의 기반이 되는 소프트웨어 프레임워크입니다.
- [[LoadImage]] : 이미지 로드 로직의 핵심 노드 구현체입니다.
- [[SaveImage]] : 이미지 저장 로직의 핵심 노드 구현체입니다.
- [[torch.Tensor]] : 데이터 처리에 사용되는 주요 텐서 구조입니다.
- [[Inpainting]] : 마스크를 활용하는 구체적인 작업 사례입니다.
## 📝 변경 이력 (Change history)
- 2026-05-20: Astra /wikify 로 https://docs.comfy.org/custom-nodes/backend/snippets 본문에서 초안 생성.