numpy:将索引的2D数组转换为1D数组以进行交集计算

克里斯

我有一种情况,我需要在python中执行两个二进制图像数组的交集。理想情况下,我可以很快完成此操作。


intersect1d如果我可以将坐标转换为单个元素,Numpy将具有完成此功能的功能。

现在(因为我知道照片的尺寸),我通过使用乘法,求和,交集将所有内容转换为整数格式来实现此目的,然后使用类似的方法将其解压缩。

def npimg_intersection(A,B):
    Aargwhere = np.argwhere(A==0)
    Bargwhere = np.argwhere(B==0)

    Aargwhere[:,0] = Aargwhere[:,0]*1000
    Aargwhere = np.sum(Aargwhere,axis=1)

    Bargwhere[:,0] = Bargwhere[:,0]*1000
    Bargwhere = np.sum(Bargwhere,axis=1)

    Iargwhere0 = np.intersect1d(Aargwhere,Bargwhere)

    Iargwhere = np.zeros(shape=(Iargwhere0.shape[0],2),dtype=Iargwhere0.dtype)
    Iargwhere[:,0] = Iargwhere0[:]/1000
    Iargwhere[:,1] = Iargwhere0[:]%1000


    I = np.zeros(shape = A.shape,dtype=A.dtype)
    I[:,:] = 255
    I[Iargwhere[:,0],Iargwhere[:,1]] = 0
    return I

而且有效。相当快。


但是使用numpy做到这一点的正确方法(减少黑客攻击)是什么?

迪卡卡(Divakar)

可以建议两种方法-

255*(~((A==0) & (B==0))).astype(A.dtype)
255*(((A!=0) | (B!=0))).astype(A.dtype)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

javascript:如何将两个1D数组转换为2D数组

来自分类Dev

numpy:将2D数组乘以1D数组

来自分类Dev

将1D字节数组转换为2D numpy数组的最快方法

来自分类Dev

PHP-将2D数组中的一列转换为指定列名的1D数组

来自分类Dev

脾气暴躁:将1D数组作为2D数组而不进行整形

来自分类Dev

如何将2D数组转换为1D数组以在视图中显示

来自分类Dev

Python Pandas-将“ 1D”文件转换为2D数组

来自分类Dev

numpy将2D数组与1D数组连接

来自分类Dev

将3D numpy数组有效转换为1D numpy数组

来自分类Dev

Java:将2D数组转换为带有组织和随机数的1D数组

来自分类Dev

从1D重塑为2D numpy数组后,如何返回元素的位置(索引)?

来自分类Dev

需要将1D数组转换为2D进行串联的背后的逻辑是什么?

来自分类Dev

Java | 将2D int数组转换为2D char数组以进行println

来自分类Dev

将2D数组转换为相同大小但形状像1D的数组?

来自分类Dev

Numpy计算随机2D或1D数组中的Min Max

来自分类Dev

如何使用if条件在1D和2D numpy数组之间进行向量化计算

来自分类Dev

将列表的1D数组转换为2D数组

来自分类Dev

有效的通用代码将Numpy中的2D或1D蒙版数组索引为1D数组

来自分类Dev

将2D数组转换为1D数组以创建数据框

来自分类Dev

如何基于包含初始索引和最终索引的2个1D数组对2D numpy数组进行切片

来自分类Dev

将2D数组的元素与两个1D数组的乘积进行比较?

来自分类Dev

将点的2D数组转换为1D数组

来自分类Dev

在JAVA中将1d数组转换为2d数组

来自分类Dev

将3D numpy数组有效转换为1D numpy数组

来自分类Dev

将2D数组转换为1D数组错误

来自分类Dev

用1D numpy数组制作2D

来自分类Dev

将2D numpy矩阵转换为2D numpy数组

来自分类Dev

需要将1D数组转换为2D进行串联的背后的逻辑是什么?

来自分类Dev

将 2d 数组索引为 1d

Related 相关文章

  1. 1

    javascript:如何将两个1D数组转换为2D数组

  2. 2

    numpy:将2D数组乘以1D数组

  3. 3

    将1D字节数组转换为2D numpy数组的最快方法

  4. 4

    PHP-将2D数组中的一列转换为指定列名的1D数组

  5. 5

    脾气暴躁:将1D数组作为2D数组而不进行整形

  6. 6

    如何将2D数组转换为1D数组以在视图中显示

  7. 7

    Python Pandas-将“ 1D”文件转换为2D数组

  8. 8

    numpy将2D数组与1D数组连接

  9. 9

    将3D numpy数组有效转换为1D numpy数组

  10. 10

    Java:将2D数组转换为带有组织和随机数的1D数组

  11. 11

    从1D重塑为2D numpy数组后,如何返回元素的位置(索引)?

  12. 12

    需要将1D数组转换为2D进行串联的背后的逻辑是什么?

  13. 13

    Java | 将2D int数组转换为2D char数组以进行println

  14. 14

    将2D数组转换为相同大小但形状像1D的数组?

  15. 15

    Numpy计算随机2D或1D数组中的Min Max

  16. 16

    如何使用if条件在1D和2D numpy数组之间进行向量化计算

  17. 17

    将列表的1D数组转换为2D数组

  18. 18

    有效的通用代码将Numpy中的2D或1D蒙版数组索引为1D数组

  19. 19

    将2D数组转换为1D数组以创建数据框

  20. 20

    如何基于包含初始索引和最终索引的2个1D数组对2D numpy数组进行切片

  21. 21

    将2D数组的元素与两个1D数组的乘积进行比较?

  22. 22

    将点的2D数组转换为1D数组

  23. 23

    在JAVA中将1d数组转换为2d数组

  24. 24

    将3D numpy数组有效转换为1D numpy数组

  25. 25

    将2D数组转换为1D数组错误

  26. 26

    用1D numpy数组制作2D

  27. 27

    将2D numpy矩阵转换为2D numpy数组

  28. 28

    需要将1D数组转换为2D进行串联的背后的逻辑是什么?

  29. 29

    将 2d 数组索引为 1d

热门标签

归档