1

哪种方法检索 submat更快,或者?我想知道它,因为我正在使用 java并且我在许多大小为 1600 * 1200 的图像上循环。adjustROI()submat()

提前致谢。

PS:对于注意到 OpenCV 问答论坛中存在相同帖子的任何人:由于没有人能够回答这个问题,我决定将它放在 Stackoverflow 上以增加有人回答它的机会。

4

1 回答 1

1

最好的想法是按照@Ilya Kurnosov 的建议进行基准测试。但是,根据以下来源,我预测几乎没有区别。与实际发生的工作相比,Mat 创建和 JNI 调用开销似乎很大,但基准测试可能证明我错了。

这两种方法的一个大问题是,如果您逐个像素地滑动一个矩形,您将创建近 200 万个对象。(OTOH,您可以在 C++ 中执行此操作而无需创建任何新对象,所以如果它必须快......)

public Mat submat(int rowStart, int rowEnd, int colStart, int colEnd)
{

    Mat retVal = new Mat(n_submat_rr(nativeObj, rowStart, rowEnd, colStart, colEnd));

    return retVal;
}

public Mat adjustROI(int dtop, int dbottom, int dleft, int dright)
{

    Mat retVal = new Mat(n_adjustROI(nativeObj, dtop, dbottom, dleft, dright));

    return retVal;
}
于 2013-05-25T16:03:04.543 回答