Извлечение текста из паспорта MRZ
I need to extract MRZ from passport in our project.Could not able to crop MRZ dynamically from given passport
Что я уже пробовал:
from easyocr import Reader import argparse import cv2 def cleanup_text(text): return ''.join([(c if ord(c) < 128 else '') for c in text]).strip() ap = argparse.ArgumentParser() ap.add_argument('-i', '--image', required=True, help="path to input image to be OCR'd") ap.add_argument('-l', '--langs', type=str, default='en', help='comma separated list of languages to OCR') ap.add_argument('-g', '--gpu', type=int, default=-1, help='whether or not GPU should be used') args = vars(ap.parse_args()) langs = args['langs'].split(',') print ("[INFO] OCR'ing with the following languages: {}".format(langs)) image = cv2.imread(args['image']) print ("[INFO] OCR'ing input image...") reader = Reader(langs, gpu=args['gpu'] > 0) results = reader.readtext(image) for (bbox, text, prob) in results: print ('[INFO] {:.4f}: {}'.format(prob, text)) (tl, tr, br, bl) = bbox tl = (int(tl[0]), int(tl[1])) tr = (int(tr[0]), int(tr[1])) br = (int(br[0]), int(br[1])) bl = (int(bl[0]), int(bl[1])) text = cleanup_text(text) cv2.rectangle(image, tl, br, (0, 255, 0), 2) cv2.putText( image, text, (tl[0], tl[1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 0), 2, ) cv2.imshow('Image', image) cv2.waitKey(0)
Richard MacCutchan
В чем же проблема?
nagarjunanethaji
Я не мог извлечь верхние и нижние данные MRZ
OriginalGriff
Он пытается прочитать информацию из водительских прав, паспортов и так далее.
Я подозреваю, что гнусные поступки были бы совершены, если бы только у него были навыки и знания ... :Д
Dave Kreskowiak
Ну, в данном случае МРЗ-это "машиночитаемая зона", так что он там хорош. Он не сможет расшифровать, что означают все эти данные, потому что не все они публично задокументированы, но основные вещи там есть, например, имя владельца.