Skip to content

Commit d5caf32

Browse files
authored
Merge pull request #13 from Comfy-Org/Canny
Update canny node docs
2 parents 8a5d5bb + ff952d3 commit d5caf32

File tree

10 files changed

+244
-67
lines changed

10 files changed

+244
-67
lines changed
181 Bytes
Binary file not shown.
84.1 KB
Loading
47 KB
Loading
Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,38 @@
1-
The Canny node is designed for edge detection in images, utilizing the Canny algorithm to identify and highlight the edges. This process involves applying a series of filters to the input image to detect areas of high gradient, which correspond to edges, thereby enhancing the image's structural details.
1+
Extract all edge lines from photos, like using a pen to outline a photo, drawing out the contours and detail boundaries of objects.
22

3-
## Input type
4-
| Parameter | Comfy dtype | Description |
5-
| --- | --- | --- |
6-
| `image` | `IMAGE` | The input image to be processed for edge detection. It is crucial as it serves as the base for the edge detection operation. |
7-
| `low_threshold` | `FLOAT` | The lower threshold for the hysteresis procedure in edge detection. It determines the minimum intensity gradient considered for an edge, affecting the sensitivity of edge detection. |
8-
| `high_threshold` | `FLOAT` | The upper threshold for the hysteresis procedure in edge detection. It sets the maximum intensity gradient considered for an edge, influencing the selectivity of edge detection. |
3+
## Working Principle
4+
Imagine you are an artist who needs to use a pen to outline a photo. The Canny node acts like an intelligent assistant, helping you decide where to draw lines (edges) and where not to.
95

10-
## Output types
6+
This process is like a screening job:
7+
- **High threshold** is the "must draw line standard": only very obvious and clear contour lines will be drawn, such as facial contours of people and building frames
8+
- **Low threshold** is the "definitely don't draw line standard": edges that are too weak will be ignored to avoid drawing noise and meaningless lines
9+
- **Middle area**: edges between the two standards will be drawn together if they connect to "must draw lines", but won't be drawn if they are isolated
1110

12-
| Parameter | Comfy dtype | Description |
13-
| --- | --- | --- |
14-
| `image` | `IMAGE` | The output is an image with highlighted edges, where the edges are detected using the Canny algorithm. This enhances the structural details of the original image. |
11+
The final output is a black and white image, where white parts are detected edge lines and black parts are areas without edges.
12+
13+
## Input Parameters
14+
15+
| Parameter Name | Data Type | Input Method | Default Value | Value Range | Function Description |
16+
|----------------|-----------|--------------|---------------|-------------|---------------------|
17+
| image | IMAGE | Connection | - | - | Original photo that needs edge extraction |
18+
| low_threshold | FLOAT | Manual Input | 0.4 | 0.01-0.99 | Low threshold, determines how weak edges to ignore. Lower values preserve more details but may produce noise |
19+
| high_threshold | FLOAT | Manual Input | 0.8 | 0.01-0.99 | High threshold, determines how strong edges to preserve. Higher values only keep the most obvious contour lines |
20+
21+
## Output Results
22+
23+
| Output Name | Data Type | Description |
24+
|-------------|-----------|-------------|
25+
| image | IMAGE | Black and white edge image, white lines are detected edges, black areas are parts without edges |
26+
27+
## Parameter Comparison
28+
29+
![Original Image](./asset/input.webp)
30+
31+
32+
![Parameter Comparison](./asset/compare.webp)
33+
34+
**Common Issues:**
35+
- Broken edges: Try lowering high threshold
36+
- Too much noise: Raise low threshold
37+
- Missing important details: Lower low threshold
38+
- Edges too rough: Check input image quality and resolution
Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
1-
El nodo Canny está diseñado para la detección de bordes en imágenes, utilizando el algoritmo Canny para identificar y resaltar los bordes. Este proceso implica aplicar una serie de filtros a la imagen de entrada para detectar áreas de alto gradiente, que corresponden a bordes, mejorando así los detalles estructurales de la imagen.
1+
Extrae todas las líneas de borde de las fotos, como usar un bolígrafo para contornear una foto, dibujando los contornos y límites de detalles de los objetos.
22

3-
## Tipos de entrada
3+
## Principio de Funcionamiento
4+
Imagina que eres un artista que necesita usar un bolígrafo para contornear una foto. El nodo Canny actúa como un asistente inteligente, ayudándote a decidir dónde dibujar líneas (bordes) y dónde no.
45

5-
| Parameter | Comfy dtype | Description |
6-
| --- | --- | --- |
7-
| `image` | `IMAGE` | La imagen de entrada a procesar para la detección de bordes. Es crucial ya que sirve como base para la operación de detección de bordes. |
8-
| `low_threshold` | `FLOAT` | El umbral inferior para el procedimiento de histéresis en la detección de bordes. Determina el gradiente de intensidad mínimo considerado para un borde, afectando la sensibilidad de la detección de bordes. |
9-
| `high_threshold` | `FLOAT` | El umbral superior para el procedimiento de histéresis en la detección de bordes. Establece el gradiente de intensidad máximo considerado para un borde, influyendo en la selectividad de la detección de bordes. |
6+
Este proceso es como un trabajo de filtrado:
7+
- **Umbral alto** es el "estándar de línea obligatoria": solo se dibujarán líneas de contorno muy obvias y claras, como contornos faciales de personas y marcos de edificios
8+
- **Umbral bajo** es el "estándar de definitivamente no dibujar línea": los bordes que son demasiado débiles serán ignorados para evitar dibujar ruido y líneas sin sentido
9+
- **Área intermedia**: los bordes entre los dos estándares se dibujarán juntos si se conectan a "líneas obligatorias", pero no se dibujarán si están aislados
1010

11-
## Tipos de salida
11+
La salida final es una imagen en blanco y negro, donde las partes blancas son líneas de borde detectadas y las partes negras son áreas sin bordes.
1212

13-
| Parameter | Comfy dtype | Description |
14-
| --- | --- | --- |
15-
| `image` | `IMAGE` | La salida es una imagen con bordes resaltados, donde los bordes se detectan utilizando el algoritmo Canny. Esto mejora los detalles estructurales de la imagen original. |
13+
## Parámetros de Entrada
14+
15+
| Nombre del Parámetro | Tipo de Dato | Método de Entrada | Valor Predeterminado | Rango de Valores | Descripción de Función |
16+
|----------------------|--------------|-------------------|---------------------|------------------|------------------------|
17+
| imagen | IMAGE | Conexión | - | - | Foto original que necesita extracción de bordes |
18+
| umbral_bajo | FLOAT | Entrada Manual | 0.4 | 0.01-0.99 | Umbral bajo, determina qué bordes débiles ignorar. Valores más bajos preservan más detalles pero pueden producir ruido |
19+
| umbral_alto | FLOAT | Entrada Manual | 0.8 | 0.01-0.99 | Umbral alto, determina qué bordes fuertes preservar. Valores más altos solo mantienen las líneas de contorno más obvias |
20+
21+
## Resultados de Salida
22+
23+
| Nombre de Salida | Tipo de Dato | Descripción |
24+
|------------------|--------------|-------------|
25+
| imagen | IMAGE | Imagen de bordes en blanco y negro, líneas blancas son bordes detectados, áreas negras son partes sin bordes |
26+
27+
## Comparación de Parámetros
28+
29+
![Imagen Original](./asset/input.webp)
30+
31+
32+
![Comparación de Parámetros](./asset/compare.webp)
33+
34+
**Problemas Comunes:**
35+
- Bordes quebrados: Intenta reducir el umbral alto
36+
- Demasiado ruido: Aumenta el umbral bajo
37+
- Faltan detalles importantes: Reduce el umbral bajo
38+
- Bordes demasiado ásperos: Verifica la calidad y resolución de la imagen de entrada
Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
1-
Le nœud Canny est conçu pour la détection des contours dans les images, en utilisant l'algorithme de Canny pour identifier et mettre en évidence les contours. Ce processus implique l'application d'une série de filtres à l'image d'entrée pour détecter les zones de fort gradient, qui correspondent aux contours, améliorant ainsi les détails structurels de l'image.
1+
Extrait toutes les lignes de contour des photos, comme utiliser un stylo pour contourner une photo, en dessinant les contours et les limites de détails des objets.
22

3-
## Types d'entrée
3+
## Principe de Fonctionnement
4+
Imaginez que vous êtes un artiste qui doit utiliser un stylo pour contourner une photo. Le nœud Canny agit comme un assistant intelligent, vous aidant à décider où dessiner des lignes (contours) et où ne pas le faire.
45

5-
| Paramètre | Comfy dtype | Description |
6-
| --- | --- | --- |
7-
| `image` | `IMAGE` | L'image d'entrée à traiter pour la détection des contours. Elle est cruciale car elle sert de base pour l'opération de détection des contours. |
8-
| `low_threshold` | `FLOAT` | Le seuil inférieur pour la procédure d'hystérésis dans la détection des contours. Il détermine le gradient d'intensité minimum considéré pour un contour, affectant la sensibilité de la détection des contours. |
9-
| `high_threshold` | `FLOAT` | Le seuil supérieur pour la procédure d'hystérésis dans la détection des contours. Il fixe le gradient d'intensité maximum considéré pour un contour, influençant la sélectivité de la détection des contours. |
6+
Ce processus est comme un travail de filtrage :
7+
- **Seuil haut** est le "standard de ligne obligatoire" : seules les lignes de contour très évidentes et claires seront dessinées, comme les contours faciaux des personnes et les cadres de bâtiments
8+
- **Seuil bas** est le "standard de définitivement ne pas dessiner de ligne" : les contours qui sont trop faibles seront ignorés pour éviter de dessiner du bruit et des lignes sans signification
9+
- **Zone intermédiaire** : les contours entre les deux standards seront dessinés ensemble s'ils se connectent aux "lignes obligatoires", mais ne seront pas dessinés s'ils sont isolés
1010

11-
## Types de sortie
11+
La sortie finale est une image en noir et blanc, où les parties blanches sont les lignes de contour détectées et les parties noires sont les zones sans contours.
1212

13-
| Paramètre | Comfy dtype | Description |
14-
| --- | --- | --- |
15-
| `image` | `IMAGE` | La sortie est une image avec des contours mis en évidence, où les contours sont détectés à l'aide de l'algorithme de Canny. Cela améliore les détails structurels de l'image originale. |
13+
## Paramètres d'Entrée
14+
15+
| Nom du Paramètre | Type de Données | Méthode d'Entrée | Valeur par Défaut | Plage de Valeurs | Description de Fonction |
16+
|-------------------|----------------|------------------|-------------------|------------------|-------------------------|
17+
| image | IMAGE | Connexion | - | - | Photo originale nécessitant l'extraction de contours |
18+
| seuil_bas | FLOAT | Saisie Manuelle | 0.4 | 0.01-0.99 | Seuil bas, détermine quels contours faibles ignorer. Des valeurs plus faibles préservent plus de détails mais peuvent produire du bruit |
19+
| seuil_haut | FLOAT | Saisie Manuelle | 0.8 | 0.01-0.99 | Seuil haut, détermine quels contours forts préserver. Des valeurs plus élevées ne gardent que les lignes de contour les plus évidentes |
20+
21+
## Résultats de Sortie
22+
23+
| Nom de Sortie | Type de Données | Description |
24+
|---------------|----------------|-------------|
25+
| image | IMAGE | Image de contours en noir et blanc, les lignes blanches sont les contours détectés, les zones noires sont les parties sans contours |
26+
27+
## Comparaison des Paramètres
28+
29+
![Image Originale](./asset/input.webp)
30+
31+
32+
![Comparaison des Paramètres](./asset/compare.webp)
33+
34+
**Problèmes Courants :**
35+
- Contours brisés : Essayez de réduire le seuil haut
36+
- Trop de bruit : Augmentez le seuil bas
37+
- Détails importants manqués : Réduisez le seuil bas
38+
- Contours trop rugueux : Vérifiez la qualité et la résolution de l'image d'entrée
Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
1-
Cannyノードは、画像のエッジ検出を目的として設計されており、Cannyアルゴリズムを利用してエッジを識別し強調します。このプロセスでは、入力画像に一連のフィルターを適用し、高い勾配を持つ領域を検出します。これにより、エッジに対応する画像の構造的な詳細が強調されます
1+
写真からすべてのエッジラインを抽出します。ペンで写真の輪郭を描くように、オブジェクトの輪郭と詳細の境界を描き出します
22

3-
## 入力タイプ
3+
## 動作原理
4+
あなたがペンで写真の輪郭を描く必要があるアーティストだと想像してください。Cannyノードは知的なアシスタントのように機能し、どこに線(エッジ)を描くべきか、どこに描くべきではないかを決定するのを手助けします。
45

5-
| フィールド | Comfy dtype | 説明 |
6-
| ---------------- | ----------- | --------------------------------------------------------------------------------------------------------- |
7-
| `image` | `IMAGE` | エッジ検出のために処理される入力画像です。エッジ検出操作の基礎として機能するため、重要です。 |
8-
| `low_threshold` | `FLOAT` | エッジ検出におけるヒステリシス手順の下限閾値です。エッジと見なされる最小強度勾配を決定し、エッジ検出の感度に影響を与えます。 |
9-
| `high_threshold` | `FLOAT` | エッジ検出におけるヒステリシス手順の上限閾値です。エッジと見なされる最大強度勾配を設定し、エッジ検出の選択性に影響を与えます。 |
6+
このプロセスは選別作業のようなものです:
7+
- **高い閾値**は「必ず線を描く基準」:人物の顔の輪郭や建物の枠など、非常に明確ではっきりした輪郭線のみが描かれます
8+
- **低い閾値**は「絶対に線を描かない基準」:弱すぎるエッジは無視され、ノイズや意味のない線を描くことを避けます
9+
- **中間領域**:2つの基準の間にあるエッジは、「必須の線」に接続している場合は一緒に描かれ、孤立している場合は描かれません
1010

11-
## 出力タイプ
11+
最終出力は白黒画像で、白い部分が検出されたエッジライン、黒い部分がエッジのない領域です。
1212

13-
| フィールド | Comfy dtype | 説明 |
14-
| ---------- | ----------- | --------------------------------------------------------------------------------------------------------------- |
15-
| `image` | `IMAGE` | 出力は、Cannyアルゴリズムを使用してエッジが検出された、エッジが強調された画像です。これにより、元の画像の構造的な詳細が強調されます。 |
13+
## 入力パラメータ
14+
15+
| パラメータ名 | データ型 | 入力方法 | デフォルト値 | 値の範囲 | 機能説明 |
16+
|-------------|----------|----------|-------------|----------|----------|
17+
| イメージ | IMAGE | 接続 | - | - | エッジ抽出が必要な元の写真 |
18+
| 低い閾値 | FLOAT | 手動入力 | 0.4 | 0.01-0.99 | 低い閾値、無視する弱いエッジの程度を決定。値が低いほど詳細が保持されるが、ノイズが発生する可能性 |
19+
| 高い閾値 | FLOAT | 手動入力 | 0.8 | 0.01-0.99 | 高い閾値、保持する強いエッジの程度を決定。値が高いほど最も明確な輪郭線のみが保持される |
20+
21+
## 出力結果
22+
23+
| 出力名 | データ型 | 説明 |
24+
|--------|----------|------|
25+
| イメージ | IMAGE | 白黒エッジ画像、白い線が検出されたエッジ、黒い領域がエッジのない部分 |
26+
27+
## パラメータ比較
28+
29+
![元画像](./asset/input.webp)
30+
31+
32+
![パラメータ比較](./asset/compare.webp)
33+
34+
**よくある問題:**
35+
- エッジが途切れ途切れ:高い閾値を下げてみてください
36+
- ノイズが多すぎる:低い閾値を上げてください
37+
- 重要な詳細が失われる:低い閾値を下げてください
38+
- エッジが粗すぎる:入力画像の品質と解像度を確認してください
Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
1-
Canny 노드는 이미지에서 가장자리를 감지하기 위해 설계되었으며, Canny 알고리즘을 사용하여 가장자리를 식별하고 강조합니다. 이 과정은 입력 이미지에 일련의 필터를 적용하여 높은 기울기 영역을 감지하고, 이는 가장자리에 해당하여 이미지의 구조적 세부 사항을 향상시킵니다.
1+
사진에서 모든 경계선을 추출합니다. 펜으로 사진의 윤곽을 그리는 것처럼 객체의 윤곽과 세부 경계를 그려냅니다.
22

3-
## 입력 유형
3+
## 작동 원리
4+
펜으로 사진의 윤곽을 그려야 하는 아티스트라고 상상해보세요. Canny 노드는 지능적인 조수처럼 작동하여 어디에 선(경계)을 그릴지, 어디에 그리지 말지를 결정하는 데 도움을 줍니다.
45

5-
| 매개변수 | Comfy dtype | 설명 |
6-
| ---------------- | ----------- | --------------------------------------------------------------------------------------------------------- |
7-
| `image` | `IMAGE` | 가장자리 감지를 위해 처리될 입력 이미지입니다. 이는 가장자리 감지 작업의 기반으로서 중요합니다. |
8-
| `low_threshold` | `FLOAT` | 가장자리 감지에서 히스테리시스 절차의 하한값입니다. 가장자리로 간주되는 최소 강도 기울기를 결정하여 가장자리 감지의 민감도에 영향을 미칩니다. |
9-
| `high_threshold` | `FLOAT` | 가장자리 감지에서 히스테리시스 절차의 상한값입니다. 가장자리로 간주되는 최대 강도 기울기를 설정하여 가장자리 감지의 선택성에 영향을 미칩니다. |
6+
이 과정은 선별 작업과 같습니다:
7+
- **높은 임계값**은 "반드시 선을 그어야 하는 기준"입니다: 사람의 얼굴 윤곽이나 건물 프레임과 같이 매우 명확하고 뚜렷한 윤곽선만 그려집니다
8+
- **낮은 임계값**은 "절대 선을 그리지 않는 기준"입니다: 너무 약한 경계는 무시되어 노이즈와 의미 없는 선을 그리는 것을 방지합니다
9+
- **중간 영역**: 두 기준 사이의 경계는 "필수 선"에 연결된 경우 함께 그려지지만, 고립된 경우에는 그려지지 않습니다
1010

11-
## 출력 유형
11+
최종 출력은 흑백 이미지로, 흰색 부분은 감지된 경계선이고 검은색 부분은 경계가 없는 영역입니다.
1212

13-
| 매개변수 | Comfy dtype | 설명 |
14-
| -------- | ----------- | ----------------------------------------------------------------------------------- |
15-
| `image` | `IMAGE` | 출력은 Canny 알고리즘을 사용하여 가장자리가 강조된 이미지로, 원본 이미지의 구조적 세부 사항을 향상시킵니다. |
13+
## 입력 매개변수
14+
15+
| 매개변수 이름 | 데이터 유형 | 입력 방법 | 기본값 | 값 범위 | 기능 설명 |
16+
|-------------|-------------|----------|--------|---------|----------|
17+
| 이미지 | IMAGE | 연결 | - | - | 경계 추출이 필요한 원본 사진 |
18+
| 낮은 임계값 | FLOAT | 수동 입력 | 0.4 | 0.01-0.99 | 낮은 임계값, 무시할 약한 경계의 정도를 결정. 값이 낮을수록 더 많은 세부사항이 보존되지만 노이즈가 발생할 수 있음 |
19+
| 높은 임계값 | FLOAT | 수동 입력 | 0.8 | 0.01-0.99 | 높은 임계값, 보존할 강한 경계의 정도를 결정. 값이 높을수록 가장 명확한 윤곽선만 유지됨 |
20+
21+
## 출력 결과
22+
23+
| 출력 이름 | 데이터 유형 | 설명 |
24+
|----------|-------------|------|
25+
| 이미지 | IMAGE | 흑백 경계 이미지, 흰 선은 감지된 경계, 검은 영역은 경계가 없는 부분 |
26+
27+
## 매개변수 비교
28+
29+
![원본 이미지](./asset/input.webp)
30+
31+
32+
![매개변수 비교](./asset/compare.webp)
33+
34+
**일반적인 문제:**
35+
- 경계가 끊어짐: 높은 임계값을 낮춰보세요
36+
- 노이즈가 너무 많음: 낮은 임계값을 높이세요
37+
- 중요한 세부사항이 누락됨: 낮은 임계값을 낮추세요
38+
- 경계가 너무 거침: 입력 이미지의 품질과 해상도를 확인하세요

0 commit comments

Comments
 (0)