2016-10-20 15 views
0

私は形状が[5000, 255,255,1]の配列を持っています。 5000は画像の数を表し、 (255255)は、画像の大きさ多次元配列に対して指定された値のエントリを見つけて可視化します

エントリ値のほとんどは、私が最後に1

の値を持つこれらのエントリのインデックスまたは位置を知ることができますどのようにいくつかのエントリの値が1をしている間0で、もし[100、:、:1]には1のエントリがあります。この特定の画像/マトリックスをヒートマップとして表示したいと思います。どうやってするの?

答えて

0

あなたが望むのは、0または0以外の値を持つ配列をフィードするときに、np.whereだと思います。これは、フォーム内の非ゼロのすべてのインデックスを返します。二次元入力。だから、そのコードはあなたに非ゼロピクセルが含まれているすべての画像のセットを提供します:

i,x,y,_=np.where(arr) 
print(set(i)) 

次に、あなたがそのようにしたい画像を表示することができます

plt.imshow(arr[list(set(i))[0],:,:,0],cmap='hot') 
plt.show() 
+0

感謝が、エラーがありますメッセージのplt.imshow(arr [セット(d1)[0]、:、:0、cmap = 'ホット') TypeError: 'set'オブジェクトはインデックス作成をサポートしていません – user297850

+0

私の間違い、私はそれを修正しました。 – jadsq

+0

ありがとうございました。それはうまく動作します。 – user297850

関連する問題