|
@@ -0,0 +1,58 @@ |
|
|
|
|
|
import sys |
|
|
|
|
|
reload(sys) |
|
|
|
|
|
sys.setdefaultencoding("utf-8") |
|
|
|
|
|
|
|
|
|
|
|
from PIL import ImageFont |
|
|
|
|
|
from PIL import Image |
|
|
|
|
|
from PIL import ImageDraw |
|
|
|
|
|
fontC = ImageFont.truetype("./Font/platech.ttf", 14, 0) |
|
|
|
|
|
import time |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def SpeedTest(image_path): |
|
|
|
|
|
grr = cv2.imread(image_path) |
|
|
|
|
|
model = pr.LPR("model/cascade.xml", "model/model12.h5", "model/ocr_plate_all_gru.h5") |
|
|
|
|
|
model.SimpleRecognizePlateByE2E(grr) |
|
|
|
|
|
t0 = time.time() |
|
|
|
|
|
for x in range(20): |
|
|
|
|
|
model.SimpleRecognizePlateByE2E(grr) |
|
|
|
|
|
t = (time.time() - t0)/20.0 |
|
|
|
|
|
print "Image size :" + str(grr.shape[1])+"x"+str(grr.shape[0]) + " need " + str(round(t*1000,2))+"ms" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def drawRectBox(image,rect,addText): |
|
|
|
|
|
cv2.rectangle(image, (int(rect[0]), int(rect[1])), (int(rect[0] + rect[2]), int(rect[1] + rect[3])), (0,0, 255), 2,cv2.LINE_AA) |
|
|
|
|
|
cv2.rectangle(image, (int(rect[0]-1), int(rect[1])-16), (int(rect[0] + 115), int(rect[1])), (0, 0, 255), -1, |
|
|
|
|
|
cv2.LINE_AA) |
|
|
|
|
|
img = Image.fromarray(image) |
|
|
|
|
|
draw = ImageDraw.Draw(img) |
|
|
|
|
|
draw.text((int(rect[0]+1), int(rect[1]-16)), addText.decode("utf-8"), (255, 255, 255), font=fontC) |
|
|
|
|
|
imagex = np.array(img) |
|
|
|
|
|
return imagex |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import HyperLPRLite as pr |
|
|
|
|
|
import cv2 |
|
|
|
|
|
import numpy as np |
|
|
|
|
|
|
|
|
|
|
|
grr = cv2.imread("images_rec/2_.jpg") |
|
|
|
|
|
model = pr.LPR("model/cascade.xml","model/model12.h5","model/ocr_plate_all_gru.h5") |
|
|
|
|
|
for pstr,confidence,rect in model.SimpleRecognizePlateByE2E(grr): |
|
|
|
|
|
if confidence>0.7: |
|
|
|
|
|
image = drawRectBox(grr, rect, pstr+" "+str(round(confidence,3))) |
|
|
|
|
|
print "plate_str:" |
|
|
|
|
|
print pstr |
|
|
|
|
|
print "plate_confidence" |
|
|
|
|
|
print confidence |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cv2.imshow("image",image) |
|
|
|
|
|
cv2.waitKey(0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SpeedTest("images_rec/2_.jpg") |