2011-02-02 15 views
1

私はiPhoneアプリを書いています。画像を撮り、それを単一の色に混ぜる方法を理解する上で助けが必要です。私はガウス混合を行う必要があると仮定しますが、これが正しいかどうか、またはそれが正しいかどうかは分かりません。画像のガウス分布

サンプルガウスブレンドコードスニペットの参考になる点がありますか、またはイメージからブレンドカラーイメージを得るために間違った方向に向いていますか?

これは現実的ではありません私は既存のiPhoneフレームワークでこれを行うことができますか、この仕事を簡単にする公開フレームワークのプライベートメソッドがありますか?

答えて

0

画像を撮り、「単一の色に混ぜる」ことができます。画像の平均色を取得しようとしていますか?

もしそうなら、必要な出力が単純に1つのRGB値であるため、ガウスフィルタを使うのはおそらくそれを過度に複雑にしているでしょう。これを行う最も簡単な方法は、(赤、緑、青)の各カラーチャンネルの平均を計算することである。

int r,g,b; 
r=g=b=0; 

for (y=0 ; y<image_height ; y++) 
    for (x=0 ; x<image_width ; x++) 
    { 
     r = r + image[y,x,0]; 
     g = g + image[y,x,1]; 
     b = b + image[y,x,2]; 
    } 

num_pixels = image_height * image_width; 
average_r = r/num_pixels; 
average_g = g/num_pixels; 
average_b = b/num_pixels; 

ガウシアンフィルタを意味し、中央加重フィルタであるの中心の画素フィルタリングウインドウは他よりも重く重み付けされる。画像をぼかしたい場合はこれが適切ですが、画像全体をブレンドする場合は、上記の擬似コードのようにすべてのピクセルに均等に重みを付けることも同様に効果的です。

+0

説明と擬似コードをありがとう。私はそれを使って効果を出し、画像をその平均色に変換することができます。 – jangelo42

関連する問題