2D 配列内のゼロ以外の要素を検索する

私は手元で画像処理ジョブを行っており、2 次元空間でゼロ以外の要素を見つける必要があります。インターネットのほとんどは、ゼロ以外の要素のインデックスを取得する方法について話していますが、これは常に少し悪いため、それに基づいてサイクルが実行され、インデックスを使用して要素の位置決めと抽出を実現します。

import numpy as np
L = np.array([[1, -1, 1, 2, 0], [0, 0, 0, 0, 1], [1, 1, 0, 0, 5], [1, 0, 0, 0, 0]])
[a,b] = np.shape(L)
uu = L[0,0]
M = np.where(L != 0)
##########
#方法一:
for i in range(len(M[0])):
    a = L[M[0][i],M[1][i]]
##########
#方法二:
c = 0
nonzeros_num = np.zeros(len(M[0]))
for i in range(a):
    for j in range(b):
        if L[i,j] != 0:
            nonzeros_num[c] = L[i,j]
            c = c + 1

 

おすすめ

転載: blog.csdn.net/kakangel/article/details/84955027