Я пытаюсь извлечь числа из типичного табло, которое можно найти в спортзале средней школы. У меня есть каждое число в цифровом шрифте «будильник», и мне удалось скорректировать перспективу, порог и извлечь заданную цифру из видеопотока
Вот образец моего ввода шаблона
Моя проблема в том, что нет одного метода классификации точно определит все цифры 0-9. Я пробовал несколько методов
1) Tesseract OCR - этот метод постоянно портит 4 и часто возвращает странные результаты. Просто используя версию командной строки. Если я действительно пытаюсь обучить его шрифту «будильник», я каждый раз получаю неизвестный символ.
2) kNearest с OpenCV - я ищу в базе данных, состоящей из моих шаблонных изображений (0–9), и смотрю, какой из них ближайший. Я часто путаюсь между 3/1 и 7/1
3) cvMatchShapes - это довольно плохо, обычно он не может отличить 2 цифры для каждой входной цифры
4) Касательное расстояние - Это самый близкий, но наименьшее касательное расстояние между входом и моими шаблонами приводит к отображению «7» в «1» каждый раз
. Я действительно затрудняюсь получить алгоритм классификации для такой простой задачи. Я чувствую, что достаточно хорошо очистил ввод, и это довольно простой случай для классификации, но я не могу получить ничего достаточно надежного, чтобы действительно использовать на практике. Приветствуются любые идеи о том, где искать алгоритмы классификации или как их правильно использовать. Я не очищаю ввод? А как насчет лучшей базы данных ввода? Я не знаю, что еще я бы использовал для ввода, на этом этапе каждая цифра и шаблон выглядят правильно.
Вы хотите свои исходные данные изображения протокола результатов S питание алгоритма, который отображает их на {0,1,2,3,4,5,6,7,8,9}.
Позволяют V, обозначают набор n-кортежей целых чисел.
Конструкция алгоритм О±, который отображает каждое изображение S на n-кортеж
(k1, k2..., kn)
, который может дифференцироваться между двумя различными цифрами табло.
, Если можно указать диапазон О± затем, только необходимо собрать векторы в V, которые соответствуют цифре для решения проблемы.
я применил эту идею с помощью Martin Beckett идея , и она работает. Моя начальная попытка была простой инжекцией в с 2 кортежами вертикалью, слева направо суммируя с первым целым числом, смещение столбца типа image и второе целое число были длиной 'хорошей' вертикальной строки.
Это не работало - отображает для 6, и 8 отобразился бы на те же векторы. Таким образом, мне был нужен другой mini-info-capture для моих входных типов цифры (они не табло), и информационный вектор с 3 кортежами добивается цели.