Этот проект использует нейросети YOLO и OCR для автоматического отслеживания и распознавания автомобильных номеров на видео. Основной функционал включает детекцию номеров, классификацию символов и фильтрацию текста по форматам номерных знаков.
├── __pycache__/
├── .gitignore
├── README.md # Руководство (этот файл)
├── main.py # Основной скрипт для обработки видео
├── textsort.py # Фильтрация и форматирование распознанных номеров- YOLO для обнаружения номерных знаков и символов.
- EasyOCR для распознавания текста.
- OpenCV для обработки видео и изображений.
Перед запуском установите необходимые библиотеки:
pip install torch torchvision torchaudio
pip install opencv-python
pip install easyocr
pip install numpy- Поместите видеофайл в папку
videos/и назовите его, например,sample_short3.mp4. - Убедитесь, что у вас есть веса моделей YOLO:
carplate_model/weights/best-pt.pt # Модель для обнаружения номеров
carplate_model/weights/best-pt2.pt # Модель для распознавания символовВыполните:
python main.pyСкрипт автоматически:
- Загрузит видео;
- Найдёт и распознает номерные знаки;
- Применит фильтрацию;
- Сохранит результат в
CV/Result/result_video.avi.
- Использует две YOLO-модели: первая находит номерной знак, вторая — символы.
- Применяет предобработку изображения (фильтрация, grayscale и т.д.).
- Использует EasyOCR для распознавания символов, если не удалось собрать номер с помощью второй модели.
- Добавляет текст на видео с найденными номерами и сохраняет результат.
-
Содержит функции:
char_to_int,int_to_char,eng_to_ru— замена символов по шаблону.plate_format— проверка, соответствует ли номер формату (9 символов, правильный порядок).text_filter— фильтрация и исправление распознанного текста.
- Скрипт проверяет наличие CUDA и использует GPU при наличии.
- Для максимальной точности используйте качественные видео с высокой контрастностью номеров.
- Можно доработать
plate_format()под конкретный формат номеров вашей страны.
После обработки в консоли появится:
Обработано кадров: 100
Видео сохранено: CV/Result/result_video.avi
