Java android中的车辆检测与跟踪
我目前正在开发一个android应用程序,用于检测和跟踪在特定道路上行驶的任何类型的车辆。我目前正在使用openCV库来完成这项工作。经过这么多天的阅读,我已经意识到我需要使用BackgroundSubtractorMOG来检测运动,但我如何识别物体,特别是车辆。 我分为两个不同的概念,即:级联分类器和光流。我真的不知道这些是不是我需要的。 我实际上得到了一个haar分类器,我试图在以下代码段中实现它:Java android中的车辆检测与跟踪,java,android,opencv,machine-learning,detection,Java,Android,Opencv,Machine Learning,Detection,我目前正在开发一个android应用程序,用于检测和跟踪在特定道路上行驶的任何类型的车辆。我目前正在使用openCV库来完成这项工作。经过这么多天的阅读,我已经意识到我需要使用BackgroundSubtractorMOG来检测运动,但我如何识别物体,特别是车辆。 我分为两个不同的概念,即:级联分类器和光流。我真的不知道这些是不是我需要的。 我实际上得到了一个haar分类器,我试图在以下代码段中实现它: public Mat onCameraFrame(CameraBridgeViewBase
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
mRgb = inputFrame.rgba();
mGray = inputFrame.gray();
backgroundSubtractorMOG2.apply(mGray, mFGMask, 0.5d);
//morphological opening
Imgproc.erode(mFGMask, mFGMask, new Mat());
Imgproc.dilate(mFGMask, mFGMask, new Mat());
//morphological closing
Imgproc.dilate(mFGMask, mFGMask, new Mat());
Imgproc.erode(mFGMask, mFGMask, new Mat());
//mJavaDetector was earlier defined as
// mJavaDetector = new CascadeClassifier(mCascadeFile.getAbsolutePath());
MatOfRect vehicles = new MatOfRect();
if (mJavaDetector != null) {
mJavaDetector.detectMultiScale(mFGMask, vehicles, 1.1, 1, 2, new Size(0,0), new Size());
}
Rect[] vehiclesArray = vehicles.toArray();
for (int i = 0; i < vehiclesArray.length; i++)
Imgproc.rectangle(mRgb, vehiclesArray[i].tl(), vehiclesArray[i].br(), VEHICLE_RECT_COLOR, 3)
return this.mRgb;
}
CameraFrame上的公共Mat(CameraBridgeViewBase.CvCameraViewFrame inputFrame){
mRgb=inputFrame.rgba();
mGray=inputFrame.gray();
背景2.应用(mGray,mFGMask,0.5d);
//形态开口
侵蚀(mFGMask,mFGMask,新材料());
Imgproc.deflate(mFGMask,mFGMask,new Mat());
//形态闭合
Imgproc.deflate(mFGMask,mFGMask,new Mat());
侵蚀(mFGMask,mFGMask,新材料());
//mJavaDetector早期定义为
//mJavaDetector=新的级联分类器(mcascadible.getAbsolutePath());
MatOfRect车辆=新MatOfRect();
如果(mJavaDetector!=null){
mJavaDetector.detectMultiScale(mFGMask,车辆,1.1,1,2,新尺寸(0,0),新尺寸());
}
Rect[]vehiclesArray=vehicles.toArray();
对于(int i=0;i
运行此命令后,我在屏幕上没有任何检测到的迹象。
我的问题是:
对于这种涉及多个概念的问题,要想得到好的答案,最好有好的标签,而不仅仅是android和openCV。@sandesh感谢您的观察。我对它进行了编辑,以反映更多的标签。要想对这类涉及多个概念的问题获得好的答案,最好有好的标签,而不仅仅是android和openCV。@sandesh感谢您的观察。我对其进行了编辑,以反映更多的标记。