我想在mat结构上做布尔运算。 比如
“和/或/ xor”两个二进制图像
可以这样做吗?
答案 0 :(得分:11)
就这么做!
Mat a,b;
Mat c = a & b;
答案 1 :(得分:3)
对于AND和OR操作,这里是语法:
A | B /* OR operator */
A & B /* AND operator */
XOR运算符不存在,但仍然可以这样做:
(A | B) & (A != B) /* Pseudo-XOR operator */
您可能需要查看Compare function以执行您想要的操作
答案 2 :(得分:1)
您必须基于以下功能进行所有逻辑操作。 第一组,由三个,四个参数函数组成:bitwise_and(),bitwise_or(),bitwise_xor()。
例如:
C++: void bitwise_and(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray())
Python: cv2.bitwise_and(src1, src2[, dst[, mask]]) → dst
还有bitwise_not(),它有三个参数。
C++: void bitwise_not(InputArray src, OutputArray dst, InputArray mask=noArray())
Python: cv2.bitwise_not(src[, dst[, mask]]) → dst
文档:https://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html