【发布时间】:2021-03-27 11:53:46
【问题描述】:
我在分水岭算法上使用 C++ 在 Visual Studio 中有工作代码,我需要将其传递给 Android Studio。我已将 OpenCV 库添加到应用程序中,并且简单的操作工作正常。现在,我的问题是,当我想将代码传递给 Java 时,有一个我不知道如何传递的特定行类型。部分代码为:
cv::Mat markers(original.size(), CV_8U, cv::Scalar(-1));
//Rect(topleftcornerX, topleftcornerY, width, height);
//top rectangle
markers(Rect(0, 0, original.cols, 5)) = Scalar::all(1);
//bottom rectangle
markers(Rect(0, original.rows - 5, original.cols, 5)) = Scalar::all(1);
//left rectangle
markers(Rect(0, 0, 5, original.rows)) = Scalar::all(1);
//right rectangle
markers(Rect(original.cols - 5, 0, 5, original.rows)) = Scalar::all(1);
对象的创建会是这样的:
Mat markers = new Mat(rgba.size(), CvType.CV_8UC3, new Scalar(-1));
但是其余的行不知道它们将如何转换。请帮忙?
【问题讨论】:
-
你知道这些行在 C++ 中的作用吗?如果没有,从那里开始弄清楚这些行完成了什么。一旦你知道了,就假装 C++ 不存在并在 Java 中实现同样的东西。
-
我知道在标记上添加一个矩形,但我不知道怎么做@PaulMcKenzie
标签: java c++ android-studio opencv