您好,我正在尝试使用级联分类器、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;
}