java - 在 Java 中使用 OpenCV 进行减法

标签 java c++ opencv

我正在尝试将一些 opencv 代码从 C++ 转换为 Java,但我被困在这段代码中:

Mat matXyz; // some Mat
Mat result; // some other Mat
// ... set above mats to some values ...
result = Mat::ones(matXyz.size(), CV_32F) - result;

首先,我真的不明白最后一行是做什么的。 其次,我不知道如何将这一行转移到 Java (OpenCV 2.4.6),因为没有像 C++ 中那样的重载运算符,而且我在 Java 类中找不到任何可比较的方法(参见 OpenCV Javadoc )。

将其转换为 Java 的最佳方式是什么?

最佳答案

org.opencv.core.Core中有矩阵运算类,包括减法运算符。

Mat endResult;
Core.subtract(Mat.ones(matXyz.size(),CvType.CV_32F),result,endResult);

代码的最后一行创建了一个由 1 填充的矩阵,大小与 matXyz 相同,其中数据是 float 。这一切都在您链接的文档中进行了描述。

关于java - 在 Java 中使用 OpenCV 进行减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18987371/

相关文章:

java - Tomcat启动时的触发函数

使用 XPath 进行 Java XML 解析?

java - Maven 配置文件在运行 jdk 时激活,而不是在工具链 jdk 上激活

java - 如何将开始时间和结束时间设为凌晨12点到12点?

c++ - while 循环无限验证对错误输入的响应

c++ - QTreeWidget : Windows Explorer-like editing

c++ - C++ streambuf 方法可以抛出异常吗?

python - 使用高斯核的 cv2.GaussianBlur 和 cv2.filter2D 会产生不同的结果吗?

java - 在java opencv中使用dilate时更改大小

android-studio - 在 Android Studio 的依赖项中显示没有 OpenCV 模块