我正在尝试在以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
的值,并且所有实例的形状与原始数组相同。关于如何有效处理大型阵列的任何想法? 最佳答案
这应该可以解决问题:
import numpy as np
X = ([1.4E14, 1.4E14, 1.6E14], [1.4E14, 1.6E14, 1.6E14], [1.6E14, 1.1E14, 1.1E14])
numbers = [1.4E14, 1.6E14, 1.1E14]
x = np.array(X)
for j in numbers:
result = (x == j)+0
print("comparing with " + str(j))
print(result[:].tolist())
print("")
关于python - 如何通过创建单独的二进制数组有效地分割NumPy数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59332236/