Алгоритм или инструмент для нахождения краев другой области при сравнении двух изображений
Я работаю над проектом сообщества, цель которого - уменьшить количество нарушений. Для распознавания автомобильных номеров я использую OpenALPR. Проблема в том, что она чувствительна к положению камеры, то есть угол и у OpenALPR возникают проблемы с обнаружением LP, когда угол больше 20 градусов (да, я читал рекомендации по поводу хорошего положения камеры, но IRL иногда не может быть довольный).
Я обнаружил, что проблема в том, что область LP не обнаружена. Тем не менее, обрезка изображения вручную, чтобы он содержал только автомобиль без каких-либо других модификаций пикселей (например, фильтрация), устраняет проблему, и OpenALPR может обнаружить область LP.
Я ищу решение, которое может сделать обрезку автоматически. Либо алгоритм, либо инструмент, который может сравнивать два изображения "база" и "цель" и возвращать координаты (вверху слева, внизу справа) измененной области в целевом изображении.
Альтернативным решением будет другой файл конфигурации для OpenALPR. Я экспериментирую с этим последние несколько часов, но безуспешно.
Базовое изображение будет выглядеть так:
Целевое изображение будет выглядеть так:
(это всего два кадра из видео)
(оригинальный размер изображения намного больше, т.е. 3840x2160)
Существуют ли алгоритмы или инструменты, которые могут помочь мне в автоматизации этой задачи?
1 ответ
Основным методом является разность, т.е. берется абсолютная разница значений компонента RGB пиксель на пиксель. Там, где большие различия, есть обнаружение.
Но это может работать плохо (и это работает с данными изображениями), потому что эти два изображения могут быть немного выровнены, и ветер может перемещать растительность.
Поэтому я рекомендую
значительно уменьшите разрешение изображения (скажем, 8);
размытие уменьшенных изображений;
вычислить абсолютные различия;
сохранить самые большие различия между компонентами;
бинаризация с порогом;
наконец, используйте маркировку подключенных компонентов, чтобы найти наиболее значимый блоб и устранить остаточные помехи.
Обязательно обновите фоновое изображение (если вы уверены, что машины нет), чтобы избежать эффекта ежедневного дрейфа (всегда есть медленные изменения). Также может быть полезно нормализовать интенсивность изображения, чтобы помешать изменениям в окружающем освещении (проходящие облака fi).