当前位置: 首页 > 知识库问答 >
问题:

二进制图像中所有可能的组合

毛德华
2023-03-14

我试图在一个形状为(n,10)的数组中创建所有可能的0和1的组合。例如,如果我们假设一个像这样的任意组合:np.array([0,0,1,1,0,0,1,1,0,0]),我如何生成所有可能的组合(这将产生2^10=1024数组)?

共有2个答案

越琦
2023-03-14

您可以使用itertools模块中的排列

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)
宰父子安
2023-03-14

是的,您可以将 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]]
 类似资料:
  • 如何找到二进制图像(cv::Mat)中所有非零像素的位置?我是否必须扫描图像中的每个像素,或者是否可以使用高级OpenCV函数?输出应为点(像素位置)的矢量。 例如,这可以在Matlab中简单地完成: 或者更简单 编辑:换句话说,如何找到坐标的所有非零元素在cv::垫?

  • 我正在做一个代码,可以消除不需要的组合,例如我(ABCDE)不想要AAA BBB AB BA只想要ABC ABD ABE ....等等,希望它在任何情况下都有效,我这样做的示例代码:他制作了一组组合 (1-6) 3 对 3 ...但我希望他 (1-15) 与 4 对 4 或 10 到 10 的组合......请参阅示例以更好地理解。 结果 123 124 125 126 134 135 136 1

  • 一个解决方案是首先将该数字视为一个8位数字,然后计算的所有组合。但是,这并不能完全满足我的需要,因为我想稍后在线性移位寄存器(LFSR)中使用该数字,目前,我正在寻找一个利用的答案。

  • 我需要创建一个函数,输出所有可能的二进制组合(2^8==256个不同的8位序列)。我真的被难住了。我必须用嵌套循环来完成它,但我不知道该怎么做。下面是我到目前为止所尝试的。有人告诉我,我可以用8个嵌套循环来编写这个程序,每个循环从0到1;另外,我可以尝试用位操作操作符来实现这一点。 输出应该如下所示: 00000000 00000001 谢谢你找我。

  • 这是logcat 08-12 08:52:32.887:D/DalvikVM(774):GC_CONCURRENT释放71K,7%释放2765K/2964K,暂停23ms+15ms,总计94ms 08-12 08:52:33.497:D/gralloc_goldfish(774):检测到没有GPU仿真的仿真器。 08-12 08:52:40.698:D/DalvikVM(774):GC_CONCU