File size: 1,634 Bytes
fe8b674 c3f244d fe8b674 8d9605d 89630a1 8d9605d 89630a1 fe8b674 89630a1 fe8b674 89630a1 fe8b674 89630a1 c32f067 89630a1 fe8b674 89630a1 fe8b674 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
import cv2
from time import time
from alpr import *
import torch
import cv2
import numpy as np
import tensorflow.compat.v1 as tf
import os
import streamlit as st
from PIL import Image
import streamlit as st
def load_image(image_file):
img = Image.open(image_file)
return img
st.subheader("Image")
image_file = st.file_uploader("Upload Images", type=["png","jpg","jpeg"])
#if image_file is not None:
# To See details
#file_details = {"filename":image_file.name, "filetype":image_file.type,"filesize":image_file.size}
#st.write(file_details)
# To View Uploaded Image
#st.image(load_image(image_file),width=250)
submit = st.button('Generate')
if submit:
model = torch.hub.load('ultralytics/yolov5', 'custom', path='yoloocr_best.pt')
model.cpu()
model.conf = 0.5
license = DetectLicensePlate()
counter = dict()
frame = np.array(image_file)
try:
plate_img = alpr(frame,license)
#plate_img = cv2.resize(plate_img,(200,50))
results = model(plate_img*255)
#print(results.xyxy[0])
name = results.pandas().xyxy[0].sort_values('xmin').iloc[:, -1]
name = "".join([i for i in name])
if name not in counter and name != '':
counter[name] = 1
if name in counter and name !='':
counter[name] +=1
plate_name = list((sorted(counter.items(),key = lambda item:item[1])))[-1][0]
print(plate_name)
#cv2.imshow("Plate", plate_img)
st.write(plate_name)
except Exception as e:
counter.clear()
print("Plaka bulunamadı")
|