ノード一覧に戻る

ディザリング

dither

順序・画像パターン・誤差拡散で減色します。パレット順を陰影ランプとして守る色選択もできます。

確認済み
解説あり

入力ポート

名前説明
画像
input
Image
必須
ディザリングしたい画像です
パレット
palette
Palette
任意のパレット入力です。未接続なら画像からパレットを抽出します
しきい値パターン画像
threshold_map
Image
画像パターン方式でタイル反復するグレースケール画像です。明るい画素は次のパレット色へ進め、暗い画素は手前の色を残します。

出力ポート

名前説明
画像
output
Image
ディザリング後の画像です
パレット
palette
Palette
ディザリングに使ったパレットです

パラメータ

名前既定値範囲説明・選択肢
ディザ方式
mode
Enum
Ordered4x4

どのディザ方式を使うかです

  • 順序 4x4Ordered4x4
    4x4 の Bayer 行列で、規則的な順序ディザをかけます。
  • 誤差拡散FloydSteinberg
    Floyd-Steinberg の誤差拡散ディザをかけます。
  • 画像パターンPatternImage
    接続したしきい値パターン画像をタイル反復します。Pixel Canvas・ノイズ・パターン系で網点を自由に設計できます。
色の選び方
color_choice
Enum
NearestColor

一般画像は『近い色』、素材・キャラの影→ハイライト順を守る時は『パレット順』を使います。パレット順には並びを決めたパレット接続が必要です。

  • 近い色NearestColor
    ディザ適用後に最も近いパレット色を選びます。従来と同じ方式で、一般的なカラー画像の減色向けです。
  • パレット順PaletteOrder
    接続パレットを順序付きランプとして扱い、隣接スロットだけを混ぜます。影→ハイライトの並びを崩したくない時に使います。
ランプ位置の基準
ramp_source
Enum
OKLCH-L

入力のどの値を、パレット先頭→末尾の位置に使うかです。陰影ランプは通常OKLCH明度、マスクの段階化はAlphaが目安です。

  • OKLCH 明度OKLCH-L
    見た目の明るさで判定します。影やハイライトなど、目で見た明暗に合わせたい時に使います。
  • OKLCH 彩度OKLCH-C
    色の鮮やかさで判定します。くすんだ色と鮮やかな色を分けたい時に使います。
  • HSV 彩度HSV-S
    HSV の鮮やかさで判定します。一般的な色相・彩度・明度の感覚で選びたい時に使います。
  • HSV 明度HSV-V
    RGB の一番明るいチャンネルを基準にします。光った色や原色の強さを見たい時に使います。
  • RGB 赤RGB-R
    赤の強さで判定します。赤みだけを抜き出したい時に使います。
  • RGB 緑RGB-G
    緑の強さで判定します。緑成分だけを抜き出したい時に使います。
  • RGB 青RGB-B
    青の強さで判定します。青成分だけを抜き出したい時に使います。
  • アルファAlpha
    透明度で判定します。不透明な形だけをマスクにしたい時に使います。
  • 輝度Luminance
    RGB から計算した明るさで判定します。OKLCH より単純な白黒変換に近い結果が欲しい時に使います。
抽出モード
extract_mode
Enum
Representative

パレット入力がない時に、画像からどうパレットを作るかです

  • 実色抽出Exact
  • 代表色抽出Representative
最大色数
max_colors
Int
161–256

抽出時に残す最大色数です

透明色をパレット抽出に含める
include_transparent
Bool
false

パレット抽出時に完全透明ピクセルも含めます

透明ピクセルも加工する
process_transparent_pixels
Bool
false

完全透明ピクセルの非表示RGBもディザリング・減色します

元の透明度を保つ
preserve_alpha
Bool
true

色を変えても、元画像の透明度はそのまま残します

強さ
strength
Float
10–2 / step 0.01

ディザ模様をどれくらい強く出すかです

概要

少ない色数で中間調を表現する「ディザ(網点)」をかけながらパレット減色するノードです。 グラデーションを2〜16色のドット絵らしい質感に落とす、レトロ表現の要になります。

使い方のポイント

  • 方式の選び方: 規則正しい市松模様のレトロ感→Ordered4x4、写真的な自然な粒感→ FloydSteinberg、手描き網点・クロスハッチ・木目→PatternImage。ドット絵素材では OrderedやPattern Imageの方が「打った感」が出て馴染むことが多い
  • PatternImageではthreshold_mapへ小さなグレースケール画像をつなぐ。画像は出力全体へ 自動反復され、明るい画素が次のパレット色へ進め、暗い画素が手前の色を残す。 まず4〜16pxのPixel Canvasで模様を描き、strength=0.3〜0.7から調整すると扱いやすい
  • 一般のカラー写真・素材減色はcolor_choice=NearestColor。影→中間→基色→光のように パレット順を設計したキャラ・素材はPaletteOrderを使う。入力値をランプ上へ置き、 隣接する2スロットだけを混ぜるため、色距離で意図しない段へ飛ばない
  • PaletteOrderには2色以上の接続パレットが必要。ramp_sourceは陰影ならOKLCH明度、 すでに0〜1の制御画像ならRGB-Rや輝度、透明度の段階化ならAlphaが目安
  • パレットを接続して使うのが基本形。プロジェクトのパレットにつなげば、素材全体の 配色管理から外れない。未接続時は画像から自動抽出される(max_colors で色数を制御)
  • strength はディザ模様の出方。1が標準、0.3〜0.7に下げると「境界付近だけ軽く網点」の 上品な仕上がりになる。2まで上げるとザラザラの強い質感。順序ディザと誤差拡散の どちらにも効き、0では減色だけを行う
  • include_transparent は未接続時のパレット抽出だけを制御する。 process_transparent_pixels は完全透明ピクセルの非表示RGBを加工するかを制御する。 通常はどちらもOFFのままでよい
  • グラデーション →dither(2〜4色パレット)で、空・発光・水面のレトロ表現が手早く作れる

よくある失敗

  • 模様が出ない: 入力画像に中間調がない(すでにパレット色ぴったり)とディザは かからない。グラデーションやノイズなど連続調の入力に使う
  • Gradient Map(Steps)の後で模様が出ない: Stepsで先にパレット実色へ確定したため、 色間の小数位置が消えている。パレット順を守りながら中間を網点化したい時は、連続調の 元画像をDitherへ直接つなぎPaletteOrderを使う
  • 画像パターンを選んだのに4×4の模様になる: threshold_mapが未接続。接続までは 安全な既定動作としてOrdered 4×4へ戻り、方式欄に警告を表示する
  • パレット順にしたのに近い色で減色される: 並びを決めた2色以上のパレットが未接続。 自動抽出色にはユーザーが決めた順序がないため、接続までは近い色へ戻して警告する
  • 色がにごる・意図しない色が出る: パレット未接続の自動抽出(Representative)は 平均的な代表色を作る。決めた色だけ使いたい場合はパレットを接続するか extract_mode = Exact にする
  • 透明部分がおかしい: preserve_alpha(既定ON)は元の透明度を保持する。 透明色を抽出候補に入れるだけなら include_transparent、完全透明ピクセルの非表示RGBも 加工したい場合だけ process_transparent_pixels をONにする

注意

  • 誤差拡散 は局所コントラストを保ちやすく、順序 4x4 は規則的で扱いやすいです。
  • 画像パターンのRGB輝度を読み、アルファは判定値に使いません。反転した配置が欲しい時は 前段のinvertでパターン画像を反転します
  • パレット順はOrdered 4×4・画像パターン・誤差拡散の全方式で隣接スロット制約を守ります
  • パレット入力がある時は、そのパレットをそのまま使います。
  • _count は実際に使ったパレット色数です。

使用例

  1. Palette Extract で作った色数に落とす
  2. 黒白 2 色パレットでレトロな網点にする
  3. Palette Quantize より模様感のある減色結果を作る
  4. 木目ハッチを8×8のPixel Canvasで描き、PatternImage + PaletteOrderで 木材ランプの隣接色だけを切り替える

関連ノード

  • palette_quantize — ディザなしの単純減色(ベタッとした仕上がり)はこちら
  • palette_extract — 減色に使うパレットを画像から抽出する
  • gradient_generate / noise_generate — ディザ映えする連続調の入力を作る
  • posterize — パレットではなく段数指定で階調を落とす
  • gradient_map — ベタな段階色が欲しい場合。連続値をパレット順ディザする時は本ノードへ直接入力
ノード一覧に戻る
ディザリング — PixPipeline ノード解説