You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

WebAPI.py 1.3 kB

7 years ago
5 years ago
7 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #coding=utf-8
  2. from flask import Flask, render_template, request
  3. from werkzeug import secure_filename
  4. import cv2
  5. import numpy as np
  6. #导入opencv
  7. from hyperlpr import pipline
  8. #导入车牌识别库
  9. app = Flask(__name__)
  10. #设置App name
  11. def recognize(filename):
  12. image = cv2.imread(filename)
  13. return HyperLPR_plate_recognition(image)
  14. #return pipline.RecognizePlateJson(image)
  15. import base64
  16. def recognizeBase64(base64_code):
  17. file_bytes = np.asarray(bytearray(base64.b64decode(base64_code)),dtype=np.uint8)
  18. image_data_ndarray = cv2.imdecode(file_bytes,1)
  19. return pipline.RecognizePlateJson(image_data_ndarray)
  20. import time
  21. @app.route('/uploader', methods=['GET', 'POST'])#设置请求路由
  22. def upload_file():
  23. if request.method == 'POST':
  24. #如果请求方法是POST
  25. f = request.files['file']
  26. f.save("./images_rec/"+secure_filename(f.filename))
  27. #保存请求上来的文件
  28. t0 = time.time()
  29. res = recognize("./images_rec/"+secure_filename(f.filename))
  30. print "识别时间",time.time() - t0
  31. return res
  32. #返回识别结果
  33. # return 'file uploaded successfully'
  34. return render_template('upload.html')
  35. if __name__ == '__main__':
  36. #入口函数
  37. app.run("0.0.0.0",port=8000)
  38. #运行app 指定IP 指定端口