我试图在以NumPy数组形式存储的图像中分离不同的对象。例如,如果我有2D NumPy数组:
X = np.array([[1.4E14, 1.4E14, 1.6E14], [1.4E14, 1.6E14, 1.6E14], [1.6E14, 1.1E14, 1.1E14]])
如何通过实例将其拆分为相同形状的二进制数组,如下所示:
Y = np.array([[1, 1, 0], [1, 0, 0], [0, 0, 0]])
Z = np.array([[0, 0, 1], [0, 1, 1], [1, 0, 0]])
W = np.array([[0, 0, 0], [0, 0, 0], [0, 1, 1]])
其中Y
表示1.4E14
的值,Z
表示1.6E14
的值,W
表示1.1E14
的值,所有实例的形状与原始数组相同。对于如何在大数组中有效地执行此操作,有什么想法吗?你知道吗
您可以使用NumPy的^{} 函数在} 将} 方法将结果转换为整数:
X
中查找唯一的值,^{X
元素与这些值进行比较,^{在上面的代码中
binary_array = np.int_(X == value)
也可以工作。你知道吗这样就可以了:
你想要np.where
唯一的班轮
{k: (X == v).astype(np.int) for k, v in {'Y': 14, 'Z': 16, 'W': 11}.items()}
相关问题 更多 >
编程相关推荐