在opencv java中为网络摄像头的视频输入实现背景减法?
我想提取静态背景中单独移动的人的前景面具。如何在opencvjava中实现这一点在opencv java中为网络摄像头的视频输入实现背景减法?,java,opencv,webcam,background-subtraction,Java,Opencv,Webcam,Background Subtraction,我想提取静态背景中单独移动的人的前景面具。如何在opencvjava中实现这一点 package com.java.opencv; import org.opencv.core.Mat; import org.opencv.video.BackgroundSubtractor; import org.opencv.video.BackgroundSubtractorMOG2; import org.opencv.videoio.VideoCapture; public class Hello
package com.java.opencv;
import org.opencv.core.Mat;
import org.opencv.video.BackgroundSubtractor;
import org.opencv.video.BackgroundSubtractorMOG2;
import org.opencv.videoio.VideoCapture;
public class HelloCV {
public static void main(String[] args){
VideoCapture capture = new VideoCapture(0);
Mat camImage = new Mat();
BackgroundSubtractorMOG2 backgroundSubtractorMOG=new BackgroundSubtractorMOG2();
if (capture.isOpened()) {
while (true) {
capture.read(camImage);
Mat fgMask=new Mat();
backgroundSubtractorMOG.apply(camImage, fgMask,0.1);
Mat output=new Mat();
camImage.copyTo(output,fgMask);
//displayImageOnScreen(output);
}
}
}
}
我在这行有个错误
BackgroundSubtractorMOG2 backgroundSubtractorMOG=new BackgroundSubtractorMOG2();
构造函数BackgroundSubtractorMOG2()未定义
找不到这些方法的正确文档他们在上一版本中删除了构造函数,请使用以下方法:
BackgroundSubtractorMOG2 mog2 = Video.createBackgroundSubtractorMOG2();
请添加您迄今为止尝试的代码段。您需要的是absdiff()方法。在这里阅读:@Sri.U我已经更新了代码似乎他们在上一个版本中删除了构造函数,也许这应该可以工作:
BackgroundSubtractorMOG2 mog2=Video.createBackgroundSubtractorMOG2()代码>@StepTNT哇,这很有效,但如何在屏幕上显示输出?