ControlNet(canny 前処理)向けの Canny エッジ・プレビューです。ぼかしと低/高しきい値を調整して残す線を決め、黒地に白線のエッジマップを保存できます。処理はすべてブラウザ内で完結し、画像はアップロードされません。

出力

画像をここにドロップ

クリックして選択 · または貼り付け (Ctrl/Cmd + V)

ブラウザ内で処理 · アップロードなし

別の画像をドロップ / クリック

画像から Canny 法で輪郭(エッジ)を抽出し、Stable Diffusion の ControlNet(canny 前処理=preprocessor)に渡すのと同じ形式のエッジマップをブラウザ内で作るツールです。ControlNet で構図やポーズ、線画の形を保ったまま生成したいとき、まず元画像から canny のエッジマップを作り、それを ControlNet の入力にします。多くの WebUI には canny preprocessor が組み込まれていますが、しきい値を変えながら『どの線が残るか』を手元で先に確認したい、A1111/Forge/ComfyUI を起動せずに当たりを付けたい、という場面でこのツールが使えます。処理の流れは Canny 法の標準どおりで、(1) グレースケール化、(2) Gaussian ぼかしでノイズを抑える、(3) Sobel フィルタで輝度の勾配(変化の強さと向き)を求める、(4) 非最大抑制で線を1px に細める、(5) 低・高の2つのしきい値とヒステリシス(強いエッジに繋がる弱いエッジだけを残す)で最終的な線を決める、という順です。コントロールは3つで、『ぼかし』を上げるとノイズや細かい模様を拾いにくくなり線がすっきりします(上げすぎると細部が消えます)。『高しきい値』はそれを超えた強い輪郭を必ず採用する基準、『低しきい値』は高しきい値の線に繋がっていれば採用する弱い輪郭の下限です。一般に高は低の2〜3倍が目安で、線が増えすぎるなら両方を上げ、線が途切れるなら下げます。『白地に黒線』にチェックを入れると反転表示にもできます(既定は ControlNet が期待する黒地に白線)。出力は元画像と同じピクセル寸法(巨大な画像は処理負荷を抑えるため長辺 2048px に収めて処理)で、PNG として保存できます。計算はすべてお使いのブラウザ内で行い、画像を外部のサーバーや API に送信することは一切ありません。

使い方

  1. 画像をドロップ/選択/貼り付けで読み込みます(アップロードはされません)。
  2. 『ぼかし』『低しきい値』『高しきい値』を動かし、残したい輪郭線だけになるよう調整します。
  3. 黒地に白線のエッジマップを PNG で保存し、ControlNet(canny)の入力にします。

よくある質問

画像はどこかにアップロードされますか?

いいえ。読み込みからエッジ検出、PNG 書き出しまで、すべてお使いのブラウザ内で行います。画像を外部のサーバーや API に送信することは一切なく、端末内で完結します。

ControlNet の canny 前処理とどう違いますか?

アルゴリズムは同じ Canny 法で、出力も黒地に白線の同じ形式です。WebUI を起動せずにしきい値を変えながら結果を先に確認したいとき、または前処理済みのエッジマップを用意したいときに使えます。ControlNet 側では preprocessor を none(または invert なし)にして、このマップをそのまま入力してください。

低しきい値・高しきい値はどう決めればいいですか?

高しきい値はそれを超えた強い輪郭を必ず残す基準、低しきい値は高い線に繋がっていれば残す下限です。高は低の2〜3倍が目安で、線が増えすぎるなら両方を上げ、輪郭が途切れるなら下げます。細かいノイズが多い画像はまず『ぼかし』を1〜2上げると安定します。

出力の色を反転できますか?

はい。『白地に黒線』にチェックを入れると反転します。ControlNet が期待するのは黒地に白線(既定)なので、特に理由がなければ既定のままで保存してください。