在Java中使用OpenCV进行Mat减法

Jay*_*Kay 5 c++ java 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;
Run Code Online (Sandbox Code Playgroud)

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

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

ggo*_*van 7

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

Mat endResult;
Core.subtract(Mat.ones(matXyz.size(),CvType.CV_32F),result,endResult);
Run Code Online (Sandbox Code Playgroud)

代码的最后一行创建一个矩阵matXyz,其中填充了一些大小相同的数据,其中数据是浮点数.这些都在您链接的文档中进行了描述.