我正在遵循教程,只要我只执行一次脚本,一切就可以正常工作。但是,如果多次运行,脚本就会掉下来,就像它会以某种方式保留某些内存。我已经经过调试器几个小时了,但是我没有发现任何可能导致问题的原因。
我对教程代码的修改是这些
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
似乎正在尝试学习某些东西,但这正是我不需要的东西。无论我执行运行方法多少次,我都需要始终获得相同的结果。我需要更改什么?
编辑:在我看来DescriptorMatcher是问题的起因,但调用matcher.clear()将无济于事。