首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mat上进行布尔运算,如mat3 = mat1 & mat2?

如何在mat上进行布尔运算,如mat3 = mat1 & mat2?
EN

Stack Overflow用户
提问于 2013-07-31 11:30:23
回答 3查看 9.5K关注 0票数 10

我想在垫子结构上做布尔运算。比如

对两个二进制图像进行“与/或/异或”运算

这样做有可能吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-31 15:26:09

就这么做吧!

代码语言:javascript
复制
Mat a,b;
Mat c = a & b;
票数 13
EN

Stack Overflow用户

发布于 2013-07-31 15:43:15

对于AND和OR运算,语法如下:

代码语言:javascript
复制
A | B /* OR operator */
A & B /* AND operator */

XOR运算符不存在,但仍然可以这样做:

代码语言:javascript
复制
(A | B) & (A != B) /* Pseudo-XOR operator */

您可能希望检查Compare function以执行您想要的操作

票数 4
EN

Stack Overflow用户

发布于 2018-06-06 22:27:04

所有的逻辑运算都必须基于以下函数。第一组由三个、四个参数函数组成: bitwise_and()、bitwise_or()、bitwise_xor()。

例如:

代码语言:javascript
复制
C++: void bitwise_and(InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray())

Python: cv2.bitwise_and(src1, src2[, dst[, mask]]) → dst

还有bitwise_not(),它有三个参数。

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17961092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档