Как точно идентифицировать капли, являющиеся номерными знаками? Здесь есть 2 типа пластин, и, похоже, не получается получить один алгоритм для обнаружения обоих типов - PullRequest
0 голосов
/ 21 апреля 2019

Скриншот моих результатов LPD на пластине (тип 1) Screenshot of my LPD results on a plate (type 1)

Я делаю распознавание номерных знаков, но зависаю на части «Обнаружение номерного знака», так как здесь есть два разных типа номерных знаков.

Это второй тип номерного знака This is the second type of license plate

Я могу найти отдельные таблички, отрегулировав ширину и высоту ограничительного прямоугольника, но хочу найти способ, позволяющий обнаруживать оба типа номерных знаков без необходимости изменять значения вручную

Я сделал выровненную гистограмму / бинаризацию / убрал шум / расширил. Я попытался использовать строки и столбцы и соотношение, но, похоже, не подходит для всех тарелок. Просто нужна помощь с обнаружением всех пластин. Код ниже - это то, к чему я прибегал.

for (int j = 0; j < contours1.size(); j++) {
    BlobRect = boundingRect(contours1[j]);

    if (BlobRect.width > 150 || BlobRect.width < 80
           || BlobRect.height > 50 || BlobRect.height < 20)
        drawContours(Blob, contours1, j, black, -1, 8);
    else 
        plate = Grey(BlobRect);
}

Для большинства табличек это работает, но для табличек, где цифры и буквы находятся в двух линиях, а не в одной прямой, оно не работает. И наоборот, если я изменю ширину и высоту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...