色相の平均値の算出方法
画像内の色相の平均値の算出方法
画像を、HSV色空間で表現した場合に、
色相の平均値を算出する方法を教えていただきたく思います。
色相は円環で表現される為、単純に加算して画素数で割るという手法に疑問を覚えます。
問題点の例:
色相を0~360の範囲で表現した場合において、
0の画素が5ピクセル分、
359の画素が5ピクセル分存在するような画像の場合、
単純に平均を算出すると179.5となります。
しかし、色相は円環で表現される為、
平均値としては359.5の値をとるのが正しいと私は思います。
上記の問題に対して、解決案をご教授願いたく思います。
もしくは私の解釈に間違いがありましたら、ご指摘をお願いいたします。
よろしくおねがいいたします。
回答(1件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.1ベストアンサー20pt
色空間には詳しくありませんが,似た問題として一般角や (日付をまたいだ) 時刻の
平均値を求める方法を考えたことがあります.次のような方法はどうでしょうか?
・色相環を単位円 (原点中心) で表す.
・色相を単位円上の1点 r=(x, y),またはそれに対応する角度θで表す.
(x=cosθ,y=sinθ)
・色相 θ[1],θ[2],…,θ[n] の平均を次のように定義する.
r[i] = (x[i],y[i]) = (cosθ[i],sinθ[i]).
R ≡ Σ{i=1,n} r[i].
R≠0 ならば r[average] ≡ R / |R| = (cosθ[average],sinθ[average]).
R=0 (無彩色) となるのは例えば,
・n=2 で θ[1] と θ[2] が補色関係の場合.
・n=3 で θ[1~3] が同輝度の R,G,B (または C,M,Y) の場合.
この方法だと,
> 0の画素が5ピクセル分、
> 359の画素が5ピクセル分存在するような画像の場合、
θ[1~5]=0°,θ[6~10]=359°.
R = 5 * (cos 0°, sin 0°) + 5 * (cos 359°, sin 359°)
≒ (9.9992, -0.087262)
θ[average] = 359.5°
この回答へのお礼
ありがとう御座います。
ベクトルを一度座標に変換して、平均座標を求め、
その座標への角度を再度求める、という流れでしょうか?
どうやら解決することができそうです。
三角関数は苦手意識を持ってしまっていて、
今まであまり触れないで来てしまったのですが、
このように便利に利用できるものなのですね。
本当にありがとうございました!
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











