2016-11-20 13 views
5

私はnumpyの配列に変換されたRGB画像を持っています。私はnumpyまたはscipy関数を使ってイメージの平均RGB値を計算しようとしています。numpy配列の画像の平均色を計算する方法は?

RGB値が0.0から浮動小数点数として表現される - 1.0、1.0 = 255

サンプルの2×2画素image_array:私が試みた

[[[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]], 
[[1.0, 1.0, 1.0], [1.0, 1.0, 1.0]]] 

import numpy 
numpy.mean(image_array, axis=0)` 

しかし、出力:

[[0.5 0.5 0.5] 
[0.5 0.5 0.5]] 

私がしたいことはただ一つのRGB平均値である:

[0.5 0.5 0.5] 

答えて

11

あなたは、2つの軸に沿って平均値を取る必要があるのに対し、あなたは、唯一の1つの軸に沿って平均値を取っている:高さと画像の幅を。

はこれを試してみてください:docsとして

>>> image_array  
array([[[ 0., 0., 0.], 
     [ 0., 0., 0.]], 

     [[ 1., 1., 1.], 
     [ 1., 1., 1.]]]) 
>>> np.mean(image_array, axis=(0, 1)) 
array([ 0.5, 0.5, 0.5]) 

はあなたが平均値を取ることにしたい、その上の軸を指定して、axisパラメータの組を指定することができ、あなたを教えてくれます。

+1

それはそれです!私はあなたが複数の軸を指定できることを理解していませんでした。 – dranobob

関連する問題