📅  最后修改于: 2023-12-03 15:04:33.537000             🧑  作者: Mango
numpy.nonzero()
是 numpy 库中的一个函数,用于返回一个数组在某一维度上非零元素的索引。
函数原型:
numpy.nonzero(a)
参数:
返回值:
import numpy as np
a = np.array([[0, 1, 0], [1, 0, 1], [0, 1, 0], [1, 0, 1]])
print(a)
输出:
array([[0, 1, 0],
[1, 0, 1],
[0, 1, 0],
[1, 0, 1]])
result = np.nonzero(a)
print(result)
输出:
(array([0, 1, 1, 2, 2, 3, 3]), array([1, 0, 2, 1, 0, 0, 2]))
结果是一个 tuple,包含了两个数组,分别为非零元素的横坐标和纵坐标。
numpy.nonzero()
主要应用于筛选和提取数组非零元素的索引,常用于多维数组和图像数据中。
# 颜色的 R、G、B 值分别存储在 3D 数组(高 * 宽 * 通道数)中
colors = np.array([
[
[255, 0, 0], [0, 255, 0], [0, 0, 255]
],
[
[255, 255, 0], [0, 255, 255], [255, 0, 255]
]
])
# 获取所有非黑色像素的坐标
NonZeroIndix = np.nonzero(colors)[0:2]
# 显示结果
print(NonZeroIndix)
输出:
(array([0, 0, 0, 1, 1, 1]), array([0, 1, 2, 0, 1, 2]))
在这个例子中,我们获取了颜色数组中所有非黑色的坐标,方便后续逐个修改或者处理每个非零的像素点。
numpy.nonzero()
是 numpy 库中的一个函数,用于返回一个数组在某一维度上非零元素的索引,常用于筛选和提取多维数组和图像数据中的非零元素索引,用法简单。