【问题标题】:Mat subtraction with OpenCV in Java在 Java 中使用 OpenCV 进行 Mat 减法
【发布时间】:2013-09-30 00:13:20
【问题描述】:

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

【问题讨论】:

  • 你已经找到文档了,然后你就懒了..docs.opencv.org/java/org/opencv/core/…
  • 我没有看核心类..下次应该更加小心:D谢谢
  • @berak 该链接已过时; OpenCV 文档(尤其是 Java 文档)是出了名的容易出现版本更改、链接失效等问题;注意。我不会称一个迷失在其中的人“懒惰”。

标签: java c++ opencv


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 2013-02-27
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多