number-plate-study/car-yolo-test.py

32 lines
1.1 KiB
Python
Raw Permalink Normal View History

2024-11-28 18:44:26 +01:00
import easyocr
import cv2
def ocr_image(img_path):
"""
Выполняет OCR для изображения с номером.
:param img_path: Путь к изображению.
:return: Распознанный текст.
"""
reader = easyocr.Reader(['en'], gpu=True) # Инициализация easyOCR
img = cv2.imread(img_path) # Загрузка изображения
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # Конвертация в оттенки серого
# Запуск OCR
results = reader.readtext(gray)
print(results)
text = ""
for res in results:
if len(results) == 1:
text = res[1]
if len(results) > 1 and len(res[1]) > 6 and res[2] > 0.2: # Фильтрация текста
text = res[1]
return text
# Использование
if __name__ == "__main__":
img_path = "result.png" # Путь к изображению с номером
recognized_text = ocr_image(img_path)
print(f"Распознанный текст: {recognized_text}")