Canny Edge
canny edge — карта контуров для контроля композиции
Canny Edge — алгоритм извлечения контуров изображения, изобретённый Джоном Канни в 1986-м. В Stable Diffusion через ControlNet Canny используется как «обводка», на которой модель строит новую картинку. Хорошо подходит для переноса конкретных линий: контуры зданий, силуэты предметов, шрифт. В отличие от Depth (объём) и OpenPose (поза), Canny управляет точно плоскостной геометрией линий.
Коротко
Коротко. Canny Edge — это чёрно-белая «обводка» изображения: тонкие белые линии на чёрном фоне отмечают границы объектов. В ControlNet Canny эта карта работает как «контурный шаблон»: модель должна нарисовать новую картинку, повторив геометрию линий. Самый старый и стабильный из ControlNet'ов. Идеально для перерисовки логотипов, переноса архитектурных линий, конвертации эскизов в финал.
Что это такое
Иллюстратор делает серию упаковок для пива. Дизайнер уже нарисовал контурный набросок: бутылка, этикетка, текст, орнамент. Нужны 5 разных стилевых вариантов: винтаж, минимализм, скандинавский, готика, ретро-фьюче.
Photoshop требует 5 часов работы. Stable Diffusion без контроля рисует «вообще другие бутылки». А с Canny — извлекает контуры из эскиза, передаёт в ControlNet, и каждая генерация повторяет точные линии наброска: ту же бутылку, ту же этикетку с тем же расположением текста. Меняется только стиль.
5 минут, 5 вариантов, дизайнеру осталось выбрать.
Canny — это алгоритм 1986 года, классика computer vision. До нейросетей он 30 лет был стандартом для извлечения границ в OpenCV, MATLAB, инженерных пакетах. Его подключили к ControlNet первым из всех препроцессоров — и он до сих пор самый стабильный.
К 2026-му в SD-экосистеме главные применения:
- Перевод эскизов в финальные иллюстрации.
- Перерисовка логотипов и упаковок в новых стилях.
- Контроль архитектуры зданий.
- Стабилизация типографики и текста.
- Перенос композиции с минимальной свободой.
Как это работает
Алгоритм Canny проходит через изображение в 4 шага:
- Размытие Гауссом. Уменьшает шум, чтобы алгоритм не реагировал на пиксельный мусор.
- Поиск градиентов. В каждом пикселе считается, насколько резко меняется яркость. Резкие переходы = края.
- Не-максимальное подавление. Из «толстых» градиентных полос выбирается самая центральная линия.
- Двойной порог + связность. Слабые края, не связанные с сильными, отбрасываются. Получается чистая контурная карта.
Параметры Canny (управляют чувствительностью):
- Low threshold — нижний порог. Чем ниже, тем больше слабых линий ловит.
- High threshold — верхний. Чем выше, тем меньше шумных линий проходит.
Стандарт: 100/200 для большинства задач. Для тонких линий (карандашный набросок) — 50/150. Для жирных контуров (комиксы) — 200/300.
В ComfyUI: Load Image → Canny Edge Preprocessor (low=100, high=200) → Apply ControlNet (Canny) → KSampler. В AUTOMATIC1111 — вкладка ControlNet, preprocessor canny, model control_v11p_sd15_canny.
Пример на практике
Дизайнер рестайлит логотип. Клиент дал старый логотип — кружка с надписью «Cofee Bar» (с опечаткой). Нужно перерисовать в трёх стилях: акварель, неон, металл-гравюра. Композиция и буквы должны остаться.
Workflow:
- Photoshop: исправляет опечатку → «Coffee Bar». Сохраняет PNG.
- ComfyUI: загружает картинку, применяет Canny Preprocessor (порог 100/200). Получает контурную карту: кружка + текст белыми линиями на чёрном.
- Запуск 3 раза с разными промптами:
watercolor coffee shop logo, soft pastels, vintage paperneon coffee shop sign, dark background, cyberpunk stylemetal engraving coffee logo, victorian, copper plate
- Strength = 0.85, чтобы линии держались жёстко.
Результат: 3 логотипа, абсолютно разные по стилю, с одинаковой композицией и шрифтом. Дизайнер показывает клиенту, выбирают любимый. Работа на 30 минут вместо 4 часов отрисовки.
В FLUX и SDXL Canny ControlNet работает так же. У FLUX чуть лучше переносит «художественные» контуры (карандашные наброски), у SDXL — чище работает на жёстких графических линиях.
С чем часто путают
- Canny и Lineart — Lineart похож, но даёт «художественные» линии (анимешные обводки, sketch-стиль). Canny — техничные, ровные. Для иллюстраций часто Lineart лучше.
- Canny и Soft Edge / HED — HED (Holistically-Nested Edge Detection) даёт более «мягкие» края, лучше для сцен с плавными переходами. Canny — резкие пиксельные границы.
- Canny и Depth — Canny это плоские контуры, Depth — 3D-объём. Часто комбинируют для архитектуры.
- Canny и Sketch — Sketch (Scribble) принимает грубые наброски рукой, Canny — точные контуры. Sketch допускает «свободу», Canny требует точности.
- Canny ControlNet и Canny из OpenCV — алгоритм один и тот же. Просто в SD он встроен в pipeline ControlNet'а.
Частые ошибки и заблуждения
- «Canny ловит только важные линии». Не различает важные и неважные. Если на фото складки на одежде, тени, текстура стены — всё попадёт в карту. Иногда нужно постобработать (стереть лишнее в Photoshop).
- «Чем больше линий, тем точнее результат». Часто наоборот: «зашумлённая» карта мешает модели, она пытается воспроизвести каждую закорючку. Чище контуры → лучше результат.
- «Canny = чёрно-белая фотография». Нет, это извлечение границ, не оттенков. Из цветной фото Canny делает контурную карту, не чёрно-белый снимок.
- «Высокий strength = идеальный контроль». Strength=1.0 часто даёт «жестяной» результат: видны исходные контуры буквально, как обводка фломастером. Стандарт 0.7–0.9 даёт более естественный результат.
- «Canny подходит для людей». Подходит для фигуры в целом, но не для лица. На лицах появляются «лишние» детали по контурам глаз/носа. Для портретов лучше другие препроцессоры.
Связанные термины
- ControlNet — общая система, в которую встроен Canny.
- Lineart — родственный препроцессор для художественных линий.
- HED / Soft Edge — альтернатива с мягкими краями.
- Sketch / Scribble — для грубых набросков.
- Depth Map — комплементарный 3D-контроль.
- OpenPose — другой ControlNet для людей.
- OpenCV — библиотека, где Canny используется десятилетиями.
Частые вопросы
Какие пороги Canny выставлять? По умолчанию 100/200. Для тонких эскизов — 50/150 (больше тонких линий). Для чётких контуров — 200/300 (только жирные границы).
Можно ли использовать свою контурную карту? Да. Если у вас уже есть готовая обводка (рисунок, чертёж, иллюстрация), её можно подать прямо в ControlNet, минуя препроцессор. Главное — белые линии на чёрном фоне.
Canny работает с FLUX? Да. ControlNet Canny для FLUX доступен через X-Labs, Mistoline, Union ControlNet. Качество хорошее, особенно на художественных линиях.
Чем Lineart лучше Canny для иллюстраций? Lineart обучен на анимешных и художественных набросках, выдаёт чистые «художественные» линии без мелкого мусора. Canny технически правильнее, но менее эстетично.
Сколько по времени? Препроцессинг Canny — мгновенно (секунда на CPU). ControlNet добавляет 10–20% к времени sampling'а в зависимости от модели.
Можно ли стирать линии в Canny-карте перед генерацией? Можно и нужно! Часто полезно открыть карту в Photoshop, чёрной кистью убрать лишние линии (мусор от теней, текстуры), оставить только важное. Результат получится чище.
Главное
Canny Edge — это «обводка» картинки: тонкие белые линии границ объектов на чёрном фоне. Извлекается алгоритмом Канни 1986 года, до сих пор стандарт computer vision. В ControlNet Canny используется как контурный шаблон: модель повторяет точную геометрию линий, меняя только стиль и наполнение. Идеально для логотипов, упаковок, архитектуры, типографики. Главное правило: чище контуры = лучше результат, иногда полезно вручную стереть лишние линии перед генерацией. Стандартные пороги 100/200, strength 0.7–0.9 для большинства задач.