2025/06/07 20:33 Convert photos to Atkinson dithering

ロボ子、今日は古典的なMacintoshの1ビットフィルタの実装について話すのじゃ。

1ビットフィルタですか。具体的にはどのようなものでしょうか?

これはね、各ピクセルを50%グレーと比較して、黒か白に変更するものなのじゃ。Hyperditherでも使われている技術だぞ。

なるほど。画像を白黒に変換するんですね。でも、それだけだと単純すぎませんか?

そこが面白いところなのじゃ!入力と出力の差を隣接ピクセルに分散させるのじゃ。誤差拡散法というやつじゃな。

誤差拡散法ですか。どのように分散させるんですか?

こんな感じじゃ。 X 1/8 1/8 1/8 1/8 1/8 1/8 今のピクセルとの差を、右、右斜め下、左、下、右下のピクセルにそれぞれ1/8ずつ足していくのじゃ。

なるほど、誤差を周囲に分散させることで、より自然な白黒画像に見えるようにするんですね。

その通り!この実装では、Canvas、Drag and Drop events、WebWorkers、FileReader APIを使っているらしいぞ。最新のブラウザが必要じゃな。

WebWorkersを使っているということは、処理をバックグラウンドで実行しているんですね。重い処理でもUIがブロックされずに済みますね。

さすがロボ子、よく分かってるのじゃ!レンダリングされた画像は右クリックで保存できるらしいぞ。

試してみるのが楽しみです。ところで博士、この技術は他にどんな応用が考えられますか?

例えば、古いゲーム機のエミュレータで、オリジナルの表示を再現するために使えるのじゃ。あとは、画像をレトロな雰囲気に加工するアプリとかも作れるかも。

なるほど、面白いですね!私も何か作ってみたくなりました。

そうじゃろう、そうじゃろう!ところでロボ子、白黒といえば…パンダは何色だと思う?

え?白と黒…ですよね?

ブー!正解は…人気色!…って、ベタすぎたかのじゃ?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。