2

我刚开始学习OpneCV并开始使用 Java 进行我的项目。由于最近发布了OpenCV的Java 包装器,因此没有太多可用的文档。

我正在尝试将背景和前景与通过网络摄像头捕获的视频分开。我尝试BackgroundSubtractorMog在 java 中使用该类,但未能获得所需的输出。

这是我的代码:

VideoCapture capture = new VideoCapture(0);
  Mat camImage = new Mat();

    if (capture.isOpened()) {
        while (true) {
            capture.read(camImage);

            BackgroundSubtractorMOG backgroundSubtractorMOG=new BackgroundSubtractorMOG();
            Mat fgMask=new Mat();
            backgroundSubtractorMOG.apply(camImage, fgMask,0.1);

            Mat output=new Mat();
            camImage.copyTo(output,fgMask);

            displayImageOnScreen(output);
           }
        }

此代码仅提供黑屏输出。

4

2 回答 2

1

移动这一行:

BackgroundSubtractorMOG backgroundSubtractorMOG=new BackgroundSubtractorMOG();

跳出循环。

于 2015-07-19T11:12:06.157 回答
0

不幸的是,到目前为止,您不能使用 java 中的任何 BackgroundSubtractorXXX

(包装器有问题,代码在那里,但缺少创建者功能)

已经有一个拉取请求,希望它很快就会被接受。

于 2013-07-21T16:15:17.583 回答