【Programing】PhotoMosaic | log.atsumo

【Programing】PhotoMosaic

PhotoMosaic
http://www.photomosaic.com/
http://en.wikipedia.org/wiki/Photographic_mosaic


要するに、いろんなPhoto(画像)を使い、Mosaic画像を生成するというもの
学生時代にそういった画像を生成したくて、研究テーマにしようとしたら、
研究にならないということでダメに成ってしまった。

たしかに、もうすでにいろんな人が研究しており、作品も沢山ある(もちろんソフトもたくさん)
研究テーマとしては、技術的にもアウトプットが面白いものになるわけがなかったため、
しょうがなかった・・・


学生時代よりも少し技術について分かり始めてきた今、ふと作りたくなった。
昔だったら、ActionScriptを使って作ろうかと思っただろうが、ソフトとして考えるならば、
ActionScriptではなく、Objective-CやC、C++などの方が速度的にも断然速度がでる。

もうすでにある程度知ってる言語(ActionScript)でできたら、楽なんだが・・・




ソフトの作り方としては、こんな感じだろうか?
1.大きな画像となるもとの画像をピクセルに分ける(10*10など)
2.そのピクセルの中の色を標準偏差で抽出
3.その抽出した色データをメモリに保存
4.部品となる画像全体をどの色と考えるか標準偏差をとる(これもメモリに保存)
5.もとのデータのピクセルの色と部品となる画像の標準偏差で抽出された色を比較し、置き換え
6.完成

ここで問題なのは、いろんな画像の色データをメモリに持っておかないといけないと言うこと、
すべてを同時にやるとしたら、激しく重くなってしまう・・・
どうやって作ろうかな??
部品の画像とそれをどの色として判断すべきなのかというデータベースのようなものを作り、
本体となる大きな画像の色を抽出し、その画像の色をKEYとして、データベースから引き出し、
ロードする方がいいのだろうか?
ロードはコストがかかるし、あまりやりたくない・・・



と最近頭で考えてたことを文章化してみました。
とりあえず、いろんな人のソースを読んでみようかと思います。

たしかAIRアプリでFlickrから画像を取ってきて、PhotoMosaicを作るアプリとかったし、
他の言語なら、ローカルの画像でもできるソフトもあったからとりあえず見てみるか・・・