2011-08-05 12 views
1

私は3次元のnumpy配列を持っています、それは8x8画像のパッチのグリッドです。python nympy scipyのパッチの平均減算

各パッチから平均を差し引くにはどのような方法がいいですか。言い換えれば、各パッチには一意の平均値があり、それを差し引きたいと思います。両方の配列の形状が等しくないので、私は

明らかなしの成功と次のことを試してみました
patches=- patches.mean(axis = 2).mean(axis = 1) 

私は、リピート機能を使用するような何か考えた:私はこのルートを以下がつながると思い

patches=- np.repeat(np.repeat(patches.mean(axis =2).mean(axis =1).reshape((n_patches, 8, 8)), 1, 1)) 

プット非効率的なソリューションにこれに関する考えや解決策はありますか?

答えて

3
import numpy as np 
a = np.random.rand(10,8,8) 
mean = a.mean(axis=2).mean(axis=1) 
b = a - mean[:, np.newaxis, np.newaxis] # reshape the mean as (10, 1, 1)