7

我正在尝试将一些 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 的最佳方法是什么?

4

1 回答 1

10

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

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

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

于 2013-09-24T17:26:00.797 回答