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 スタジオは、コンストラクターが access を保護していることを思い出させます。その上、BackgroundSubtractorMOG2 の Java src コードを読むと、コンストラクターに long addr という 1 つのパラメーターがあることがわかりました。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 に答える