forked from szad670401/HyperLPR
-
Notifications
You must be signed in to change notification settings - Fork 0
/
WebAPI.py
60 lines (40 loc) · 1.37 KB
/
WebAPI.py
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
#coding=utf-8
from flask import Flask, render_template, request
from werkzeug import secure_filename
import cv2
import numpy as np
#导入opencv
from hyperlpr import pipline
#导入车牌识别库
app = Flask(__name__)
#设置App name
def recognize(filename):
image = cv2.imread(filename)
#通过文件名读入一张图片 放到 image中
return pipline.RecognizePlateJson(image)
#识别一张图片并返回json结果
#识别函数
import base64
def recognizeBase64(base64_code):
file_bytes = np.asarray(bytearray(base64.b64decode(base64_code)),dtype=np.uint8)
image_data_ndarray = cv2.imdecode(file_bytes,1)
return pipline.RecognizePlateJson(image_data_ndarray)
import time
@app.route('/uploader', methods=['GET', 'POST'])#设置请求路由
def upload_file():
if request.method == 'POST':
#如果请求方法是POST
f = request.files['file']
f.save("./images_rec/"+secure_filename(f.filename))
#保存请求上来的文件
t0 = time.time()
res = recognize("./images_rec/"+secure_filename(f.filename))
print "识别时间",time.time() - t0
return res
#返回识别结果
# return 'file uploaded successfully'
return render_template('upload.html')
if __name__ == '__main__':
#入口函数
app.run("0.0.0.0",port=8000)
#运行app 指定IP 指定端口