查找二维数组中的非零元素

手头上在做一个图像处理的工作,需要在一个二维空间中查找非零元素。网上大都是在讲如何获取非零元素的索引,总是差那么一点点,所以在其基础上进行了一个循环,以实现利用索引对元素的定位和提取:

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