我正试图在我的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代码时,我发现有一个构造函数参数:长地址。src代码如下:
protected BackgroundSubtractorMOG2(long addr) { super(addr); }
我是OpenCV4Android的新手,因此不知道如何在java代码中构造这样的类。除了使用旧版本的OpenCV4Android,还有什么解决方案吗?
您可以在OpenCV 3.0.0中使用此代码:
BackgroundSubtractorMOG2 pMOG2 = Video.createBackgroundSubtractorMOG2();