我刚开始学习 OpneCV 并以Java开始我的项目。由于最近发布了 OpenCV 的Java包装器,因此没有太多可用的文档。
我正在尝试将背景和前景与通过网络摄像头捕获的视频分开。我尝试在java中使用 BackgroundSubtractorMog
类但未能获得所需的输出。
这是我的代码:
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);
}
}
此代码仅提供黑屏输出。
答案 0 :(得分:1)
移动此行:
BackgroundSubtractorMOG backgroundSubtractorMOG=new BackgroundSubtractorMOG();
走出循环。
答案 1 :(得分:0)
不幸的是,截至目前,您无法使用java中的任何BackgroundSubtractorXXX
(包装器的问题,代码在那里,但缺少创建者功能)
已经有了拉动请求,希望很快就会被接受。