zoukankan      html  css  js  c++  java
  • 【621】numpy.array 的逻辑运算

    参考:【Python】逻辑运算 VS Numpy数组逻辑运算


      主要是在计算 IoU 的时候,通过逻辑运算,可以更容易的计算 Overlap 与 Union。

    # 或
    a | b
    
    # 与
    a & b
    
    # 异或
    a ^ b
    
    # 非(只针对 bool)
    ~a
    

      举例如下:

    >>> a = np.array([[0, 1, 0],
    	         [0, 1, 0],
    	         [0, 1, 0]])
    
    >>> b = np.array([[0, 1, 1],
    	         [0, 0, 1],
    	         [1, 0, 1]])
    
    >>> a
    array([[0, 1, 0],
           [0, 1, 0],
           [0, 1, 0]])
    
    >>> b
    array([[0, 1, 1],
           [0, 0, 1],
           [1, 0, 1]])
    
    # overlap
    >>> a & b
    array([[0, 1, 0],
           [0, 0, 0],
           [0, 0, 0]])
    
    # union
    >>> a | b
    array([[0, 1, 1],
           [0, 1, 1],
           [1, 1, 1]])
    
    >>> a ^ b
    array([[0, 0, 1],
           [0, 1, 1],
           [1, 1, 1]])
    
    >>> a & b
    array([[0, 1, 0],
           [0, 0, 0],
           [0, 0, 0]])
    
    # 针对 0 和 1 的数组,两者效果一样
    >>> a * b == a & b
    array([[ True,  True,  True],
           [ True,  True,  True],
           [ True,  True,  True]])
    
  • 相关阅读:
    VirtualBox 创建com对象失败
    大数据(十)
    HITCON 2014 已開始征求投稿计划书
    CSS
    工具
    工具
    Linux
    Python
    JavaScript
    JavaScript
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/15058358.html
Copyright © 2011-2022 走看看