来自 Java 的 OpenCV 中的逻辑操作

Logical operations in OpenCV from Java

本文关键字:操作 OpenCV Java 来自      更新时间:2023-10-16

在OpenCV的C++ API中,可以使用如下语法进行元素布尔运算(和,或,xor,not):

Mat a, b;
Mat c = a & b;

与其他人类似。我知道 Java 中没有运算符重载;我正在寻找Java API如何公开与C++中以这种形式公开的相同功能。我已经找到了Core.bitwise_*函数,但这些函数是按位的,而不是按矩阵元素的。

这是运算符重载。在 java 中不支持运算符重载。但是如果你需要这样的东西,你可以引入一种方法来做到这一点。

例如-

Mat a, b;
Mat c;
c = Mat.doOperation(a, b);  

其中 doOperation() 是 Mat 中的静态方法 -

public static doOperation(Mat a, Mat b){
   //do whatever you want
}
Mat a, b; // Set these to what you need.
Mat result = new Mat();
Core.bitwise_and(a, b, result);

你可以对Core.bitwise_or(...)执行相同的操作