Entries

コンピューターに絵画を描かせる

コンピューターによる写真の絵画変換ってのは、photoshopにもついてるんだけど、あれってダサい。 なんかヌタッとしてて、全体がのっぺりしている・・・というか、主題と背景とかそういうのが考慮されずに一律に変換されているのがキモイ。

で、最近ごぞんじのように、写真のフラクタル分割をずっと趣味で研究してたんだけど、ようやく自分が納得できる精度でフラクタル分割する方法を思いついた。↓の画像がその処理結果なんだけど、だいぶいい感じに分割できてると思う。


アルゴリズムはQuasimondoのFITCの発表を聞いてる最中に思いついたもの。

まず画面のピクセルを走査し輝度の標準偏差を取る。標準偏差が閾値以上の場合、その領域は十分に複雑であると判断され、分割される。あとはそれを繰り返して二分木あるいは四分木で分割していけばいい。輝度を基準にするってのはJPEGの圧縮からアイデアを頂きました。

ちなみにQuasimondoの人は、ConvolutionFilterを使ってエッジ検出して分割をしようと試みていました。

で、このフラクタルちっくな分割をなにに使うか?ってのが本題だよね。 情報のマッピングや、モザイクに使うってのが定番なんだけど、これってひょっとしてコンピューターによる絵画シミュレートにつかえないかな???と。

論文PDF一個読んでみたんだけど、従来のコンピューター絵画は、ストロークシミュレーションしか注目してなくて、画面構成とタッチの関連性とかまったく考慮にいれてないっぽい。でも、それは違うんじゃないかと。

まず4分木とかで色彩や明度ベースで、画面の密度を分析して、密度毎にストローク等のタッチを変更する。こうすることで? なんかイカした絵画シミュレートができるんじゃないか?と思ったわけです。

今は純粋なドットで絵を描画してるからまだアレだけど、ストローク等をサンプリングして使っていけばだいぶいい感じになるんじゃないかと思う。