Java中的OpenCV持久变量

时间:2019-01-04 21:39:52

标签: java opencv

我正在遵循教程UI,只要我只执行一次脚本,一切就可以正常工作。但是,如果多次运行,脚本就会掉下来,就像它会以某种方式保留某些内存。我已经经过调试器几个小时了,但是我没有发现任何可能导致问题的原因。

我对教程代码的修改是这些

public class Surf2 {
    public static void main(String[] args) {
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        new SURFFLANNMatchingHomography().run(args, false);
        new SURFFLANNMatchingHomography().run(args, true);
    }
}

class SURFFLANNMatchingHomography {
    public void run(String[] args, boolean show) {
        // rest of code
        if (show) {
            HighGui.imshow("Good Matches & Object detection", imgMatches);
            HighGui.waitKey(0);
            System.exit(0);
        }
    }
}

这些是我的结果,对SURFFLANNMatchingHomography :: run的最后一次调用始终显示结果。一次跑步 https://docs.opencv.org/3.4/d7/dff/tutorial_feature_homography.html

两个电话 One call

三个电话 Two calls

似乎正在尝试学习某些东西,但这正是我不需要的东西。无论我执行运行方法多少次,我都需要始终获得相同的结果。我需要更改什么?

编辑:在我看来DescriptorMatcher是问题的起因,但​​调用matcher.clear()将无济于事。

0 个答案:

没有答案