私はそれぞれが画像を表す3D配列のコレクションを持っています。私は、指定された座標がすべての配列の中で黒でないピクセルを含む出現の回数を探したい。Numpy:インデックスでグループ化された非ゼロ値の出現を見つけよう
result = np.zeros_like(list_of_arrays[0])
for array in list_of_arrays:
for (y, x) in np.argwhere(array.any(-1)):
result[y][x] += 1
return result
どのようにしてこの未実装の実装を改善できますか?私が3次元を0または1に変換する方法を知っていたら、各配列をコピーして、それらを追加して自分の答えを得ることができました。問題は、その変換をどのように行うのか分からないことです。 2枚の3x3の写真
# picture 1
[[[ 208., 208., 208.],
[ 0., 0., 0.],
[ 110., 110., 110.]],
[[ 161., 161., 161.],
[ 140., 140., 140.],
[ 251., 251., 251.]],
[[ 0., 0., 0.],
[ 55., 55., 55.],
[ 26., 26., 26.]]]
# picture 2
[[[ 88., 88., 88.],
[ 140., 140., 140.],
[ 0., 0., 0.]],
[[ 18., 18., 18.],
[ 112., 112., 112.],
[ 0., 0., 0.]],
[[ 0., 0., 0.],
[ 195., 195., 195.],
[ 5., 5., 5.]]]
# what I'd like
[[[ 2., 2., 2.],
[ 1., 1., 1.],
[ 1., 1., 1.]],
[[ 2., 2., 2.],
[ 2., 2., 2.],
[ 1., 1., 1.]],
[[ 0., 0., 0.],
[ 2., 2., 2.],
[ 2., 2., 2.]]]
(非常に小さい)入力例を表示できますか? 5x5ピクセルの画像では? –
申し訳ありませんが、最初から追加しておきます。完了しました。 – JBolton
これらの画像は、1つのアレイに格納されているのですか、別のアレイに格納されていますか?単一の場合、それらはどのように格納されますか? '4D'配列または3D配列のリスト? – Divakar