2017-10-01 8 views
-1

私は、複数のヒートマップから平均ヒートマップを作成しようとしています。イメージアレイを複数のイメージアレイの平均としてどのように作成できますか?

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.image as mpimg 
from scipy import misc 

f1 = misc.imread('heatmap1.png') 
f2 = misc.imread('heatmap2.png') 
f3 = misc.imread('heatmap3.png') 
f_avg=np.average([f1,f2,f3],axis=0) 
plt.imshow(f_avg) 
plt.show() 

これはheatmap1.pngです:

This is 'heatmap1'

これは3本のヒートマップを平均した結果である:

enter image description here

これがへの道ではないように見えますカラー配列の平均を計算します。

ここに何か不足していますか?

+1

期待される出力は何ですか?そして、おそらくあなたのイメージを私たちに利用可能にするべきです。 (これは本当に数学的に健全なアプローチですか?) – sascha

答えて

1

これは、imshowが画像であり、任意の浮動小数点データではないことを検出できるように、plt.imshow(f_avg.astype(np.uint8))を使用する必要があります。 3つの画像すべてにアクセスすることはできませんが、f1を3回使用してテストするかランダムノイズ画像でテストすると、この変更により、コードが予想どおりに動作します(変更なしの場合)。

これらの画像配列はすべて平均化されているRGB値とアルファ値を持つことに注意してください。これらの3つの画像の平均値は、含まれているすべてのデータで得られるヒートマップと必ずしも同じではありませんそれがすべてのアクセス権を持っている場合は、おおよその見積もりです)。

関連する問題