学习OpenCV 4:基于Python的算法实战
上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所示。

img

图3.17

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

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