您好我想要使用级联分类器,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;
}
答案 0 :(得分:2)
尝试更改以下内容。
COLOR_RGBA2RGB
和cvtColor
不会产生灰度图像。试试RGBA2GRAY
detectMultiScale
中邻居的数量。现在是2.更多的邻居意味着对结果更有信心。