
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.3.2 案例17:位运算
OpenCV中定义了用于位运算的函数:bitwise_and(按位与运算),bitwise_or(按位或运算),bitwise_xor(异或运算),bitwise_not(非运算)。它们的Python语言函数定义如下:

参数说明如下。
● src1:输入矩阵1。
● src2:输入矩阵2。
● dst:输出结果(返回值)。
● mask:掩模,用于指定参与计算的矩阵。

参数说明如下。
● src:输入矩阵。
● dst:输出结果(返回值)
● mask:掩模,用于指定参与计算的矩阵。
位运算的案例代码如下:


上述案例代码的执行结果如图3.17所示。

图3.17
在位运算中,各种运算的运算方法此处不做深入讲解(如按位与运算,当对应位均为1时,计算结果为1,其他情况的结果均为0),m1和m2中的数字按照二进制的方式编码如下:

以按位与为例,若m1和m2对应位均为1,则结果为1;否则为0。因此计算的m_and的二进制结果为[[001, 010], [000, 000]],对应的十进制的结果为[[1, 2], [0, 0]],与图3.17中的计算结果相同。同理,读者可以自行计算验证其他位运算的结果。