Mayanand's picture
Create main.py
672147d
from argparse import ArgumentParser
import os
import cv2
from detection import detect, read_image_with_resize, add_rect
from recognition import recognize, add_text
def extract_number_plate(image, box):
xmin, ymin, xmax, ymax = box
return image[ymin:ymax, xmin:xmax, :]
def read_number_plate(image):
orig_image = image
boxes = detect(image)
texts = []
for box in boxes:
num_plate = extract_number_plate(orig_image, box)
text = recognize(num_plate)
texts.append(text)
return boxes, texts
if __name__ == "__main__":
parser = ArgumentParser()
parser.add_argument(
"--image",
default=None,
type=str,
help="path to image on which prediction will be made",
)
args = parser.parse_args()
assert os.path.exists(args.image), f"given path {args.image} does not exists"
im = read_image_with_resize(args.image)
boxes, texts = read_number_plate(im)
print(texts)
for box, text in zip(boxes, texts):
im = add_rect(im, *box)
im = add_text(im, text, box)
cv2.imwrite("result.jpg", im)