Spaces:
Sleeping
Sleeping
| import sys | |
| sys.path.append('.') | |
| import os | |
| import numpy as np | |
| import base64 | |
| import json | |
| import io | |
| from PIL import Image, ExifTags | |
| from flask import Flask, request, jsonify | |
| from opyidrecog import getHWID | |
| from opyidrecog import setLicenseKey | |
| from opyidrecog import initSDK | |
| from opyidrecog import processImage | |
| licenseKeyPath = "license.txt" | |
| license = os.environ.get("LICENSE_KEY") | |
| if license is None: | |
| try: | |
| with open(licenseKeyPath, 'r') as file: | |
| license = file.read().strip() | |
| except IOError as exc: | |
| print("failed to open license.txt: ", exc.errno) | |
| print("License Key: ", license) | |
| hwid = getHWID() | |
| print("HWID: ", hwid.decode('utf-8')) | |
| ret = setLicenseKey(license.encode('utf-8')) | |
| print("Set License: ", ret) | |
| ret = initSDK("model".encode('utf-8')) | |
| print("Init: ", ret) | |
| app = Flask(__name__) | |
| def process_image(): | |
| base64_image1 = "" | |
| base64_image2 = "" | |
| try: | |
| file1 = request.files['image1'] | |
| base64_image1 = base64.b64encode(file1.read()).decode('utf-8') | |
| except: | |
| result = "Failed to open image1" | |
| response = jsonify({"resultCode": "Error", "result": result}) | |
| response.status_code = 200 | |
| response.headers["Content-Type"] = "application/json; charset=utf-8" | |
| return response | |
| try: | |
| file2 = request.files['image2'] | |
| base64_image2 = base64.b64encode(file2.read()).decode('utf-8') | |
| except: | |
| base64_image2 = "" | |
| result = processImage(base64_image1.encode('utf-8'), base64_image2.encode('utf-8')) | |
| result_dict = json.loads(result.decode('utf-8')) | |
| response = jsonify({"resultCode": "Ok", "result": result_dict}) | |
| response.status_code = 200 | |
| response.headers["Content-Type"] = "application/json; charset=utf-8" | |
| return response | |
| def process_image_base64(): | |
| base64_image1 = "" | |
| base64_image2 = "" | |
| try: | |
| content = request.get_json() | |
| base64_image1 = content['image1_base64'] | |
| except: | |
| result = "Failed to parse base64" | |
| response = jsonify({"resultCode": "Error", "result": result}) | |
| response.status_code = 200 | |
| response.headers["Content-Type"] = "application/json; charset=utf-8" | |
| return response | |
| try: | |
| content = request.get_json() | |
| base64_image2 = content['image2_base64'] | |
| except: | |
| base64_image2 = "" | |
| image_np = np.asarray(image) | |
| result = processImage(image_np, image_np.shape[1], image_np.shape[0]) | |
| result = processImage(base64_image1.encode('utf-8'), base64_image2.encode('utf-8')) | |
| result_dict = json.loads(result.decode('utf-8')) | |
| response = jsonify({"resultCode": "Ok", "result": result_dict}) | |
| response.status_code = 200 | |
| response.headers["Content-Type"] = "application/json; charset=utf-8" | |
| return response | |
| if __name__ == '__main__': | |
| port = int(os.environ.get("PORT", 9000)) | |
| app.run(host='0.0.0.0', port=port) | |