2

我正在尝试在我的 android 手机上使用 OpenCV 3.0 中的 MOG2 进行背景减法。但是,在 3.0 版本中似乎没有合适的构造函数来创建新的 BackgroundSubtractorMOG2。我的代码就在这里。

@Override
public void onCameraViewStarted(int width, int height) {
    mFrame = new Mat(height, width, CvType.CV_8UC4);
    mFgMaskMOG = new Mat(height, width, CvType.CV_8UC1);
    pMOG2 = new BackgroundSubtractorMOG2();
}

使用这些代码 Android Studio 提醒我构造函数已保护访问。此外,当我阅读 BackgroundSubtractorMOG2 的 java src 代码时,我发现构造函数有一个参数: long addr。src 代码如下:

protected BackgroundSubtractorMOG2(long addr) { super(addr); }

我是 OpenCV4Android 的新手,因此不知道如何在 java 代码中构造这样的类。除了使用旧版本的 OpenCV4Android 之外的任何解决方案?

4

1 回答 1

5

您可以在 OpenCV 3.0.0 中使用此代码:

BackgroundSubtractorMOG2 pMOG2 = Video.createBackgroundSubtractorMOG2();
于 2015-05-27T10:00:20.827 回答