我正在使用 OpenCV4Android 3.1.0 版,我想删除从 Android 相机拍摄的每一帧的背景。我提到了一些帖子,我的理解是,因为应该从我应该使用的非静态背景“Android 相机”中删除背景createBackgroundSubtractorMOG2
根据一个例子,我正在使用createBackgroundSubtractorMOG2
如下代码所示。但是在运行时,无论从相机检索到的帧中的背景如何变化,我都会得到掩码fgmask
始终包含一个白色图像。
请让我知道如何使用createBackgroundSubtractorMOG2
代码:
//use createBackgroundSubtractorMOG2
fgmask = new Mat();
BackgroundSubtractorMOG2 bgs = Video.createBackgroundSubtractorMOG2(30, 16, false);
bgs.apply(mMatInputFrame,fgmask,0);
//to display the mask
final Bitmap bitmap = Bitmap.createBitmap(this.mMatInputFrame.cols(), this.mMatInputFrame.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(this.fgmask, bitmap);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
mIVEdges.setImageBitmap(bitmap);
}
});