У меня есть тестовый лист ответов с обведенными кружками ответами, и я пытаюсь определить цифры / буквы с помощью OpenCV. Я использовал 10х10 с изображением '2' в качестве положительного изображения и 44 других частей листа ответов в качестве негативов, чтобы сам создать классификатор Хаара.
Видимо, я что-то не так делаю, так как мой классификатор не может обнаружить оригинал '2'.
$opencv_createsamples -vec a_desc.bin -info positive.txt -bg negative.txt -num 1 -w 10 -h 10
$opencv_traincascade -data classifiers -vec a_desc.bin -bg negative.txt -numStages 20 -numPos 1 -numNeg 46 -w 10 -h 10
....
===== TRAINING 4-stage =====
<BEGIN
POS count : consumed 1 : 1
NEG count : acceptanceRatio 0 : 0
Required leaf false alarm rate achieved. Branch training terminated.
Что я делаю не так:
- тоже плата за негативы
- слишком мало позитивов
- размер негативов и позитивов должен совпадать
- все изображения должны быть в одном формате (png | jpg | gif)
В основном, что ожидать от следующего подхода:
- Выбрана страница из случайных книг
- Мы создаем 10x10 изображение буквы 'e'
- Мы создаем 20 негативных изображений других букв / цифр
- Мы создаем классификатор, используя эти два набора данных
- Теперь попробуем классифицировать исходную страницу.
Предполагается, что мы должны находить ВСЕ вхождения 'e' и некоторые ложные срабатывания?