Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CV

Распознавание автомобильных номеров с видео

Этот проект использует нейросети YOLO и OCR для автоматического отслеживания и распознавания автомобильных номеров на видео. Основной функционал включает детекцию номеров, классификацию символов и фильтрацию текста по форматам номерных знаков.

Watch the video


🗂️ Структура проекта

├── __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

📁 Подготовка

  1. Поместите видеофайл в папку videos/ и назовите его, например, sample_short3.mp4.
  2. Убедитесь, что у вас есть веса моделей YOLO:
carplate_model/weights/best-pt.pt     # Модель для обнаружения номеров
carplate_model/weights/best-pt2.pt    # Модель для распознавания символов

🚀 Запуск

Выполните:

python main.py

Скрипт автоматически:

  • Загрузит видео;
  • Найдёт и распознает номерные знаки;
  • Применит фильтрацию;
  • Сохранит результат в CV/Result/result_video.avi.

📄 Описание ключевых компонентов

main.py

  • Использует две YOLO-модели: первая находит номерной знак, вторая — символы.
  • Применяет предобработку изображения (фильтрация, grayscale и т.д.).
  • Использует EasyOCR для распознавания символов, если не удалось собрать номер с помощью второй модели.
  • Добавляет текст на видео с найденными номерами и сохраняет результат.

textsort.py

  • Содержит функции:

    • char_to_int, int_to_char, eng_to_ru — замена символов по шаблону.
    • plate_format — проверка, соответствует ли номер формату (9 символов, правильный порядок).
    • text_filter — фильтрация и исправление распознанного текста.

📝 Примечания

  • Скрипт проверяет наличие CUDA и использует GPU при наличии.
  • Для максимальной точности используйте качественные видео с высокой контрастностью номеров.
  • Можно доработать plate_format() под конкретный формат номеров вашей страны.

📦 Результат

После обработки в консоли появится:

Обработано кадров: 100
Видео сохранено: CV/Result/result_video.avi

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages