忍者ブログ
[35]  [34]  [33]  [32]  [31]  [30]  [29]  [28]  [27]  [26]  [25
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

以前8ビットBMPエンコーダ ってのを作ったんだけど、これは256階調のグレースケールしか出力出来なかった。で、256色の最適化されたカラーテーブルを作る方法について以前から考えていたりしたのだけど、てっく煮さんでK-means法というクラスタリング手法の事を知り、これを減色アルゴリズムに使うことにした。
今回はパラメータをRGBの3座標に限定したけど、さらにピクセルのXY座標も付加することで(距離関数に何かしらの工夫がいるんでしょうけど)領域判定なんかにも使えるらしい。

以下は16色で減色を行うサンプル。上が元画像ね。
クリックするたびにカラーテーブルを更新して徐々に最適化する。
あと何かキーを押すとリセット。
処理の手順は簡単には以下のような流れ。
  1. ランダムな16色のカラーテーブルを作って、それぞれのピクセルを一番近いテーブル色で置き換える。
  2. 同じテーブル色を選んだピクセルの元の色の平均値を求めて、そのテーブル色を置き換える。
  3. 再度、それぞれのピクセルを一番近いテーブル色で置き換える。
  4. 以下、2と3の繰り返し


RGBよりもL*a*b*だとかYCrCbだとかの色空間でクラスタリングしたほうが、人間の目にとってより自然になる、というような話もあるけど。

で、RGB→YCrCbの変換を行って、輝度信号の解像度を上げるとカラーテーブルがどのように変化するか実験してみた。色数は8色に減色。

まず、変換後もYCrCbの信号を均等に扱った場合。元の画像の色味がある程度再現されている一方、人物の顔がボケてしまっているような印象。また、服のシワなどはあまり再現していない。
y10.jpg

次に輝度信号Yを√2倍の解像度にした場合。色合いがほとんどセピアになってしまったが、服のシワや人体の凹凸などがややハッキリする。
y14.jpg

最後にY解像度を2倍にしたもの。色合いはほとんど再現されないが、色の濃淡の差はより細かく再現される。
y20.jpg
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
best buy coupons in store
batorkugy <a href=http://iarnvithja548.typepad.com/blog/2011/08/finding-legitimate-best-buy-discount-coupons.html>best buy coupon</a> Paicawtdc
CypeBachCoece URL 2011/08/16(Tue)06:33:42 編集
Can you help me please,...?
Tell me i'm a good person :)
my favorite set of numbers 187209458340011
gomFolley 2011/09/12(Mon)23:10:40 編集
hwjevcsq
yvlokloez, <a href="http://www.xchgrbydfp.com">szeudrkxoh</a>
gyzwviyehl URL 2011/11/27(Sun)05:58:46 編集
この記事へのトラックバック
この記事にトラックバックする:
26歳のハローワールド
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
最新コメント
[11/27 gyzwviyehl]
[11/18 Tepexaxyonelo]
[09/12 gomFolley]
[08/16 CypeBachCoece]
[06/02 gb]
[03/06 kishima]
[01/18 KNDY]
[01/16 kage]
[12/23 KNDY]
[12/23 kage]
最新トラックバック
ブログ内検索
アクセス解析
プロフィール
HN:
knd
HP:
自己紹介:
絶賛迷走中。
UNIQLO CALENDAR
忍者ブログ [PR]