画像を「色別」してみた!

kujoo2009-03-30



はてなフォトライフ」でやってる「色別」みたいに画像を色でピックアップしてみるってのはおもしろいなーと今更ながらに思ったのでやってみました。


何も考えずに、「とりあえず」ならサクっとできるっしょ。と軽く考えていたけど、結構時間掛かってしまった・・・。

でも、普通の人がやったらもっと早くできてそうだけどなあ・・・。

風邪引いてて体調悪かったんですよ(エーwww



方法としては、画像のピクセル毎の色を拾って基準色に分類し評価する方法です。
HSVカラーで分けていく方法と、RGBカラーで分ける方法、それとオマケでRGBカラーの基準色までの距離の累計で分けていく方法を試してみましたよ。
(ん?日本語おかしい?www)


画像をイジイジする手段は、perlでGDさんにお願いしてみました。途中までImageMagickさんでやってたんですが、何かするためにはどーすればいいのかとか調べるのにイチイチ時間がかかる上(英語が強敵w)、結局GDさんでできることくらいしか使わなかったのでwww



まー、結果は以下の通り。(ソースは前後のエントリに書いてる?のでは・・・?)


テストに使用した画像データは「はてなフォトライフ」にアップされてるものからテキトーにチョイスしました。(ライセンスがCC/表示なものから)

  • hf は、「はてなフォトライフ」での色別。
  • HSV は、HSVカラーを利用した色別結果。
  • RGB は、RGBカラーを利用した色別結果。
  • len は、RGBカラーをベースにした距離累計での色別結果。

それぞれ評価が上位の3色を表示してます。(hf は2色)
※ちなみに基準色は、デジタルRGBカラー8色ですwww

結果

No[image]hfHSVRGBlen
01






02






03






04






05






06






07






08






09






10






11






12






13






14






15






16






17






18






19






20






21






22






23






24






25






26






27






28






29






30






31






32






33






34






35






36






37






38






39






40






41






42






43






44






45






46






47






48






49






50






51






52






53






54






55






56






57






58






59






60






出力を整えるのに時間掛かったwww

一仕事終えてwww

これ見るとケッコー、RGBカラーで0〜127、128〜255つー感じに分けるだけでもそれなりに見えるよねー。

RGB→HSV変換は大したことないけど、変換しない方がパワー喰わないしこれだけでも良くない? ダメ?

もうちょっと色々試してみて、違和感無かったらこれでいいやwww

でも、42 とか見ると黒・白への評価の与え方がまずいかなー。まだまだ調整が必要かも。


まー、最悪、第一位の色は良いとして、二番目の選び方を工夫した方がいいかも。・・・対称色を選びやすくするとか?


コントラストが弱い画像だと難しいのかな〜。正規化してからやった方が良いんかな?


ああ、そういえば、黒黒とか同じ色の組み合わせを作るルーチン入ってないや。
んー、圧倒的だったら同じにするとかでいいのかな。


つーか、まともな色空間系の資料を漁った方が早いかもーwww


それよか「はてなフォトライフ」はどーゆーふうに識別してるんですかねー。どっかで公開してるんかなー。知りたい知りたいな〜www



・・・でわでわ。



上記の表の画像からもリンクされてますが、使用データ元へのリンクをここに掲載します。CCライセンスでの公開あざーす。(ありがとうございますw)