Распознавание латинских знаков - определение цветового диапазона для сравнения пикселей

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

Теперь на вопрос, я знаю, что "желтый" - это номерной знак, основанный на множестве факторов, таких как яркость, окружающая среда. alt textalt text

Проницательность этого мне понадобится для сравнения, например:

if (FindIfYellow (GetPixel (x, y)))

Однако я не знаю, использовать ли значения RGB, а именно отдельные значения RGB, чтобы определить, является ли цвет желтым. Наконец, есть веб-сайт или информация определенного типа, определяющая эти диапазоны? Я знаю

R: 255 G: 255 B: 0

Является самым чистым из желтого, но с точки зрения диапазона я понятия не имею. В любом случае, надеюсь, это резонная идея, и причина, по которой я публикую, - это обеспечить, чтобы я не забывал о чем-то, поскольку я часто делаю это:).

Ответы

Ответ 1

Использование разделения каналов CMYK - Позвольте OCR Plate!

введите описание изображения здесь

Повторение процесса с другим изображением

введите описание изображения здесь

Ответ 2

Золото желтое? Желто-оранжевый желтый? Как насчет желто-зеленых?

(Могу сказать, что это нечеткое определение для человека, не говоря уже о компьютере... просто выберите диапазон, который выглядит желтым для вас и придерживайтесь его.)

Ответ 3

Откройте OpenALPR (http://www.openalpr.com). Для локализации пластин требуется другой подход - он использует обучаемые шаблоны LBP. Вы можете использовать эту библиотеку в дополнение к вашему обнаружению на основе цвета для еще большей точности. Например, OpenALPR может обнаруживать потенциальные области пластин, а затем просто проверять, что определенный процент площади является желтым.