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