Я использую OpenCV4Android версии 3.1.0, и я хочу удалить фон в каждом кадре, снятом с камеры Android. Я сослался на некоторые должности и то, что я понял, есть, так как фон должен быть удален из нестатического фона «Android Camera» я должен использовать «createBackgroundSubtractorMOG2»Как использовать 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);
}
});
Вы переезжаете камеру? – Miki
да .. и не могли бы вы рассказать мне, почему он задал этот вопрос? – user2121
Да. Если фон меняется (потому что вы перемещаете камеру), чем вычитание фона не будет работать! Статический фон является обязательным для правильной работы – Miki