MangaScreen: ComfyUIでイラストをスクリーントーン漫画ページに変換
ComfyUI-MangaScreenは、ハーフトーンのスクリーントーン漫画ページを出力するManga Finish、Manga Panel、Manga Levelsノードを追加します。Qwen-Image 2.1 Turboとliteワークフローを利用できます。
ComfyUI-MangaScreenは、完成したイラストを白黒の漫画ページに変換する小規模なカスタムノードパックです(GitHub)。10月17日に公開され、ComfyUI ManagerでもManga Screenとして掲載されています。画像全体にハーフトーンフィルタをかけるのではなく、漫画制作で使われるレイヤー、すなわちくっきりとしたインクの線、少数のフラットな階調、トーンが必要な箇所だけに実際のスクリーントーンドットを分離して生成します。
Manga Finishの結果。ソース: ComfyUI-MangaScreen
このパックには3つのノードが含まれています。Manga Finish(変換器)、Manga Panel(ページを紙とインクの質感を持つ枠付きパネルにクロップ)、Manga Levels(編集モデルを使わない経路向けのグレースケールとレベル調整)です。ノードのコードはnumpy、OpenCV、torchを使う1つのPythonファイルなので、ComfyUIに通常すでに入っているopencv-pythonとnumpy以外にインストールするものはありません。
単純なハーフトーンフィルタでは不十分な理由
通常のハーフトーンフィルタは、画像内のすべてのグレー値をドットに変換します。線は濁り、肌やハイライトはドットで埋まり、結果は絵ではなく模様の付いた写真のように見えます。Manga Finishはまず画像を分離してから印刷します:
- 線: ストロークは形状によって分離されるため、細長い構造は線として、まとまった塊はドットやノイズとして扱われます。線は独自のレイヤー上でくっきりとした黒のまま残ります。
- 階調値: トーンは線をマスクした状態で読み取られるため、線の周囲に暗いハローができず、既存のドットや柔らかいグレーは平均化されて消えます。
- フラット領域: 階調値は4つのレベル(紙の白、薄いトーン、濃いトーン、ベタ黒)に押し込まれ、小さな断片は隣接する領域に統合されます。
- グラデーション: 滑らかな影には、目に見える段階ではなくグラデーショントーンが適用されます。
- 印刷: ページに整列した45°のバイナリ黒白ドットスクリーンを1つ使用し、隣接するトーン領域間のモアレを回避します。
- 黒の中の白線: ベタ黒の内部では、主なひだや縫い目が細い白線として切り抜かれ、濃いコートがインクで描かれたように表現されます。
同じ画像に対するオリジナル、単純なハーフトーンフィルタ、Manga Finish。ソース: ComfyUI-MangaScreen
ラインマップはオプションのpen_lines入力に渡すことができ、たとえばcomfyui_controlnet_auxのManga Lineartが使えます。pen_thresholdは、そのうちどれだけを完成ページの上に描画するかを制御します。
2つのワークフロー: 編集モデルの有無
フルのQWEN-Mangaワークフローでは、まずQwen-Image 2.1 Turboの編集パスを使い、画像を白黒の漫画パネルとして描き直す指示を与えます。この編集は明るさではなく意味に基づいて階調値を決めるため、肌や白い布は紙になり、本当に暗いものだけが黒のまま残り、その後Manga Finishがページを印刷します。ワークフロー内の編集指示以外にプロンプトやタグは必要ありません。
このワークフローには、Qwen-Image 2.1 Turboのdiffusionモデル、Qwen-Image 2.1のtext encoderとVAE、そしてManga Lineartプリプロセッサ用のcomfyui_controlnet_auxが必要です。このモデルは初回使用時にダウンロードされます。画像比較ノードがオリジナルと結果をスライダーで表示し、作業サイズは2 MPです。それより小さい場合は、各ドットが少なくとも約5 px幅になるようにscreen_linesを下げてください。
Manga-Liteワークフローは編集モデルを完全に省略し、Manga Levels、ペンラインプリプロセッサ、Manga Finish、Manga Panelを順に実行するため、CPUを含めComfyUIが動作するあらゆる環境で動作します。
同じキャラクターに対するManga-LiteとQWEN-Manga。ソース: ComfyUI-MangaScreen
シンプルな背景を持つきれいな線画では、lite経路はフルバージョンに近い結果になります。Qwenが優位に立つのは、線として描き直される描き込み背景や、明るさでは区別できないもの、たとえば肌の赤みや赤いリボンの隣にある赤いドレスなどです。作者は、暗い服をベタ黒にしたい場合はblack_pointを0.5〜0.6に上げることを推奨しています。編集パスは暗い服を暗いグレーで描く傾向があるためです。
Manga Finishの入力
| 入力 | デフォルト | 効果 |
|---|---|---|
screen_lines | 200 | 幅方向のドットの行数: 120で粗く、200で通常、300で細かい。同じ値ならどの解像度でも同じ見た目になる |
white_point | 0.80 | これより明るい部分は紙になる。下げるとより多くのトーンが除去される |
black_point | 0.30 | これより暗い部分はベタ黒になる。上げると黒が増える |
light_tone / dark_tone | 0.18 / 0.42 | 2つのフラットトーンのドット被覆率 |
gradation | 1.0 | 滑らかな影に対するグラデーショントーン。0にするとフラット領域のみになる |
pen_lines | なし | 上に描画するオプションのラインマップ(例: Manga Lineart) |
pen_threshold | 0.30 | 値を下げるとペンラインがより多く描画される |
white_lines | 0.4 | ベタ黒の内部で白く切り抜く線の量。0で無効 |
その後Manga Panelが、ページを枠(オリジナル、4:3横、16:9横、3:4縦、1:1)にクロップします。クロップ位置、枠線、余白、紙の色、そしてエッジを柔らかくし黒をわずかに不均一にするインク設定を調整できます。
Manga Finishで仕上げ、Manga Panelで枠付けしたページ。ソース: ComfyUI-MangaScreen
インストール
cd ComfyUI/custom_nodes
git clone https://github.com/ashukae/ComfyUI-MangaScreenその後ComfyUIを再起動してください。このパックはComfyUI ManagerでもManga Screenとして検索でき、Manga Finishはどちらのワークフローも使わずに任意の画像単体で動作します。
コメント
GitHubでサインインしてディスカッションに参加しましょう。