Я стараюсь обучать автомобиль номерного знака и мотоцикл номерного знака с OpenCv версии 2.4.10.Как обучить два объекта разного размера в openCv
У меня есть 235 изображений положительных и 300 негативных изображений.
Для положительных изображений автомобиль номерного знака реального размера составляет 40 см х 13 см, а мотоцикл номерного знака - настоящий размер 20 см x 17 см. При попытке обучения векторов отдельно программное обеспечение работает нормально, но когда я пытался тренироваться с использованием двух пластин, программное обеспечение не работает.
Вот код тренировки.
Этот код работает с номерным знаком автомобилем, но не работает с номерным знаком мотоциклом
createsamples -info c:\harrkit\HAARKITV10\povitivos\info.txt -vec vetor\veiculos_64x24.vec -num 235 -w 64 -h 24
trainCascade -data cascade -vec c:\harrkit\HAARKITV10\vetor\veiculos_64x24.vec -bg c:\harrkit\HAARKITV10\negativos\negativos.txt -numPos 235 -numNeg 200 -numStages 12 -featureTyp HAAR -minHitRate 0.999 -maxFalseAlarmRate 0.5 -w 64 -h 24
// detectMultiScale код
if (mAbsolutePlateSize == 0) {
int height = mGray.rows();
if (Math.round(height * mRelativePlateSize) > 0) {
mAbsolutePlateSize = Math.round(height * mRelativePlateSize);
}
mNativeDetector.setMinFaceSize(mAbsolutePlateSize);
}
MatOfRect mMatPlacas = new MatOfRect();
if (mDetectorType == JAVA_DETECTOR) {
if (mJavaDetector != null)
mJavaDetector.detectMultiScale(mGray, mMatPlacas, 1.1, 2, 2, new Size(mAbsolutePlateSize, mAbsolutePlateSize), new Size());
} else if (mDetectorType == NATIVE_DETECTOR) {
if (mNativeDetector != null)
mNativeDetector.detect(mGray, mMatPlacas);
} else {
Log.e(TAG, "Detection method is not selected!");
}
есть ошибка ввода в моем вопросе, я исправлю это – Fabricio
Не работает? Что такое сообщение об ошибке? – Kornel
это работает, проблема в том, что я использую этот каскад в программном обеспечении ... объект с размером 40 см х 13 см признан с успехом, но объект размером 20 см х 17 см нет. – Fabricio