パレットを使った減色で誤差拡散
減色パレットで誤差拡散
ダウンロード先
できた
いつもの画像を
4色減色で
誤差拡散無し 誤差拡散あり
誤差拡散はFloydSteinberg式
8色
倍の色数になったけど大差ない見た目
8色
最多ピクセル数を分割Cubeに選択して
グラデーションが得意なパレット
誤差拡散無しだと空の不自然な縞模様が増えただけ
誤差拡散ありだと8色でもかなりきれいになる
誤差拡散素晴らしい
極端色パレットで4色
Cubeからの色選択にRGB中心から遠い隅でパレットを作成すると
極端な色のパレットができる
赤、白、黒、青
ピンク、白、黒、水色
いいねえ
256色
上段が普通パレットの誤差拡散の有無
下段はグラデーションが得意なパレットでの誤差拡散の有無
256色まで増やすと誤差拡散なくてもパレットのできできれいになるねえ
元画像
普通パレットで4色
これはあんまり変わんないねえ
極端色パレット4色
どちらも白、黒、赤、黄色の4色
いいねえ、こういうのを望んでいた
極端色パレットは誤差拡散を使えば
かなりいい結果を得られるんじゃないかなあって思っていたのよね
期待どおりで嬉しい
別の極端色パレット
「Cubeから色選択」をCube中心から遠い色で
できたパレット
誤差拡散なしだと元画像からかけ離れたもの色合いになるけど
誤差拡散を使うと同じ色を使っているとは思えない画像になった
これはここまでは予想していなかった
こうなるんだなあ
5色
極端色パレットはこうなって
結果
右下いいねえ、たった5色なのに元画像に近い
パレットに緑はないけど黒、水色、黄色の配置で緑色に見える
16色
色数が増えてくると普通パレットとの差がなくなってくる
4色
左上が普通パレット、それ以外は極端色パレット
葉っぱの緑だけでいったら左下がいいなあ普通パレットは当たり外れがないけど地味な色合いになる
選ぶとしたら右上もいいけど右下かなあ
16色
これは普通パレットがいいかなあ
極端色パレットは色数が極端に少ない時用かな
もともと色数が少ない画像
4色
トマトだけで言ったら赤に2色使っている左下
全体だと右下かな
16色
やっぱり普通パレットは安定している
分割Cube選択に最大体積もいい
グラデーション
256色
パレットの差は殆ど出なかったので普通パレットだけ
右が誤差拡散
誤差拡散は使ったほうがきれいになるけど処理に時間がかかる
256色だと上のような小さな画像でも8秒くらいかかった!
他のアプリだと一瞬で終わるのもあるんだよねえ
VieasとかCOLGA、JTrimがそれ
一体どんな処理をしているんだろう
誤差拡散は進行方向に誤差を拡散していくから
Parallelクラスを使った並列処理はできないと思うんだよねえ
そもそも僕の場合は誤差拡散なしでも1秒以上かかっている
誤差拡散の処理
138802色の元の画像
上の3つの画像は縮小表示されているので
実際の画像よりたくさんの色が使われている
画像を右クリックで新しいタブで開くで等倍、等色表示
縮小表示されている上の画像は記事の編集中にはこう見えている
ジャリジャリで記事編集中は不安になるw
処理速度は遅いけどパレットを使った減色での誤差拡散できた
極端色パレット+誤差拡散は期待通りの結果で満足
コード全部(GitHub)
アプリダウンロード(ヤフーボックス)
↓
20180325_メディアンカット、誤差拡散.zipがそれ
関連記事
2018/04/10、カラーピッカー追加したのは2週間後
Owner指定するタイミング、別WindowとMainWindowとの連携、カラーピッカーを追加してパレットの色変更 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15454469.html
前回、2018/03/24は3日前
分割する場所の選択、メディアンカットで減色パレット作成 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15427320.html
2018/03/9、今回の記事の誤差拡散はこのときのが元になっている
指定色で減色+誤差拡散、減色結果を他のアプリと比較してみた ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15405037.html