Здравствуйте, я пытаюсь распознать автомобиль, используя каскадный классификатор, библиотеку Android и opencv. Моя проблема в том, что мой телефон почти все отмечает как автомобиль.
Я создал свой код на основе: https://www.youtube.com/watch?v=WEzm7L5zoZE и образец распознавания лиц. Мое приложение ведет себя очень странно, потому что маркировка выглядит случайной. Я даже не знаю, правильная ли маркировка машины или это просто какое-то случайное поведение. На данный момент он даже маркирует мою клавиатуру как автомобиль. Я не уверен, что я могу улучшить. Я не вижу никакого прогресса между тренировками до 5 или 14 этапов.
Я обучил свой файл до 14 этапов
мой код выглядит так:
@Override
public Mat onCameraFrame(Mat aInputFrame) {
// return FrameAnalyzer.analyzeFrame(aInputFrame);
// Create a grayscale image
Imgproc.cvtColor(aInputFrame, grayscaleImage, Imgproc.COLOR_RGBA2RGB);
MatOfRect objects = new MatOfRect();
// Use the classifier to detect faces
if (cascadeClassifier != null) {
cascadeClassifier.detectMultiScale(grayscaleImage, objects, 1.1, 1,
2, new Size(absoluteObjectSize, absoluteObjectSize),
new Size());
}
Rect[] dataArray = objects.toArray();
for (int i = 0; i < dataArray.length; i++) {
Core.rectangle(aInputFrame, dataArray[i].tl(), dataArray[i].br(),
new Scalar(0, 255, 0, 255), 3);
}
return aInputFrame;
}