ここでは変換方法について説明します。
括弧書きの意味が分からないと思いますが、分からなくても大丈夫です。
基本は変換結果を見て好みのものを選べばよいと思います。
- 彩度
-
彩度を上げます。
彩度を上げる倍率を選択することが出来ます。
- 緑赤青黄(黒→青)
-
Version 1.0.0.0の変換方法です。
先ず青成分をカットして誤差拡散法で緑赤黄黒の4色に減色します。
そして黒を青に置き換えます。
以前ツイートした方法です。
- 緑赤青黄(+黒→青)
-
誤差拡散法で緑赤青黄黒の5色に減色します。
そして黒を青に置き換えます。
上記の方法よりも黄色味が少しだけ抑えられていると思います。
- 白シアンマゼンタ橙(+黒→マゼンタ)
-
誤差拡散法で白シアンマゼンタ橙黒の5色に減色します。
そして黒をマゼンタに置き換えます。
これも以前ツイートした方法です。
- 白シアンマゼンタ橙(黒→マゼンタ)
-
誤差拡散法で白空色橙黒の4色に減色します。
そして空色をシアン、黒をマゼンタに置き換えます。
- 黒青紫橙赤紫
-
誤差拡散法で黒空色青紫橙赤赤紫白の7色に減色します。
そして赤を赤紫、空色を青紫、白を橙に置き換えます。
- ノイズ除去
-
誤差拡散法の繰り返しポツンポツンと現れるドットが気になるときにチェックしてみてください。
ノイズ除去の強さを選択することが出来ます。
- VRAMをダウンロード
-
VRAMの形式そのままをダウンロード出来ます。
1枚のプレーンを2000Hのサイズで2プレーン分出力します。そのためVRAMの隙間(?)は0で埋めています。
そのままVRAMに流し込んでもらえれば変換画像が再現出来るハズです。
誤差拡散はフロイド-スタインバーグ法を使用しました。
以前のものより特有のパターンは格段に少なくなったと思います。
ただ色の差を取って一番小さいものをその色にするという部分はそのままです。
輪郭抽出はLaplace(8方向)を使用しました。
Laplace変換すると値が-8*255〜+8*255になるので、最初この値をどうピクセル値に落とし込むのか分かりませんでしたが、
0〜255をオーバーした値は0または255の値にしています。
ノイズ除去はMedianフィルターを参考に、
中央値ではなくサンプリング範囲と閾値を変更することで強弱を付けられるようにしました。