【问题标题】:how to use createBackgroundSubtractorMOG2如何使用 createBackgroundSubtractorMOG2
【发布时间】:2017-02-22 08:40:52
【问题描述】:

我使用的是 OpenCV4Android 3.1.0 版,我想删除从 Android 相机拍摄的每一帧的背景。我提到了一些帖子,我的理解是,因为背景应该从非静态中删除 背景“Android Camera”我应该使用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);
}
});

【问题讨论】:

  • 你在移动相机吗?
  • 是的..你能告诉我为什么问这个问题吗?有关系吗??
  • 是的。如果背景发生变化(因为您正在移动相机),那么背景减法将不起作用!静态背景是其正常工作所必需的
  • 试着把你的手机放在桌子上,你会发现这是有效的。一旦你移动它,那么所有的白色前景;D
  • 背景减法不适用于非静态背景。因此,您最好忘记这种方法,并从检测您想要在图像中找到的任何内容开始。

标签: android opencv opencv3.0 object-detection opencv-contour


【解决方案1】:

正如@Miki 所说,如果您的背景不是静态的,则不能使用此方法。

BackgroundSubtractorMOG2 使用高斯混合模型对背景进行建模,因此它可以适应其上的微小变化(照明、新的静态对象等),但它不能适应完全动态的背景。

但如果你还想尝试,这里是你可以使用它的方法:

public class MOG2Subtractor {

    private final static double LEARNING_RATE = 0.01;

    private BackgroundSubtractorMOG2 mog;
    private Mat foreground;

    public MOG2Subtractor() {
        mog = Video.createBackgroundSubtractorMOG2();
        foreground = new Mat();
        // You can configure some parameters. For example:
        mog.setDetectShadows(false);
    }

    public Mat process(Mat inputImage) {
        mog.apply(inputImage, foreground, LEARNING_RATE);
        return foreground;
    }
}

这里有所有参数及其含义:BackgroundSubtractorMOG2

【讨论】:

  • 我试过你的例子,但我仍然只得到一个白色的前景
  • 这里我有一个示例应用程序,它实现了四种背景减法算法(包括 MOG2):BackgroundSub。检查一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
  • 2012-02-29
  • 2019-02-09
相关资源
最近更新 更多