二值图像中所有可能的组合
All possible combinations in a binary image
我正在尝试在形状为 (n, 10) 的数组中创建 0 和 1 的所有可能组合。例如,如果我们假设这样的任意组合:np.array([0, 0, 1, 1, 0, 0, 1, 1, 0, 0]),我如何生成所有可能的组合(这将产生 2^10=1024 个数组)?
是的,您可以使用 itertools.product()
和 repeat
参数来生成所需的输出:
import numpy as np
from itertools import product
np.array(list(product([0, 1], repeat=10)))
这输出:
[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 1]
[0 0 0 ... 0 1 0]
...
[1 1 1 ... 1 0 1]
[1 1 1 ... 1 1 0]
[1 1 1 ... 1 1 1]]
您可以使用 itertools
模块中的 permutations
:
import numpy as np
import itertools
list = np.array([0, 0, 1, 1, 0, 0, 1, 1, 0, 0])
combs = itertools.permutations(list)
for i in combs:
print(i)
我正在尝试在形状为 (n, 10) 的数组中创建 0 和 1 的所有可能组合。例如,如果我们假设这样的任意组合:np.array([0, 0, 1, 1, 0, 0, 1, 1, 0, 0]),我如何生成所有可能的组合(这将产生 2^10=1024 个数组)?
是的,您可以使用 itertools.product()
和 repeat
参数来生成所需的输出:
import numpy as np
from itertools import product
np.array(list(product([0, 1], repeat=10)))
这输出:
[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 1]
[0 0 0 ... 0 1 0]
...
[1 1 1 ... 1 0 1]
[1 1 1 ... 1 1 0]
[1 1 1 ... 1 1 1]]
您可以使用 itertools
模块中的 permutations
:
import numpy as np
import itertools
list = np.array([0, 0, 1, 1, 0, 0, 1, 1, 0, 0])
combs = itertools.permutations(list)
for i in combs:
print(i)