init
This commit is contained in:
43
main.py
Normal file
43
main.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import wcocr
|
||||
import os
|
||||
import uuid
|
||||
import base64
|
||||
from flask import Flask, request, jsonify
|
||||
|
||||
app = Flask(__name__)
|
||||
wcocr.init("/app/wx/opt/wechat/wxocr", "/app/wx/opt/wechat")
|
||||
|
||||
@app.route('/ocr', methods=['POST'])
|
||||
def ocr():
|
||||
try:
|
||||
# Get base64 image from request
|
||||
image_data = request.json.get('image')
|
||||
if not image_data:
|
||||
return jsonify({'error': 'No image data provided'}), 400
|
||||
|
||||
# Create temp directory if not exists
|
||||
temp_dir = 'temp'
|
||||
if not os.path.exists(temp_dir):
|
||||
os.makedirs(temp_dir)
|
||||
|
||||
# Generate unique filename and save image
|
||||
filename = os.path.join(temp_dir, f"{str(uuid.uuid4())}.png")
|
||||
try:
|
||||
image_bytes = base64.b64decode(image_data)
|
||||
with open(filename, 'wb') as f:
|
||||
f.write(image_bytes)
|
||||
|
||||
# Process image with OCR
|
||||
result = wcocr.ocr(filename)
|
||||
return jsonify({'result': result})
|
||||
|
||||
finally:
|
||||
# Clean up temp file
|
||||
if os.path.exists(filename):
|
||||
os.remove(filename)
|
||||
|
||||
except Exception as e:
|
||||
return jsonify({'error': str(e)}), 500
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(host='0.0.0.0', port=5000, threaded=True)
|
||||
Reference in New Issue
Block a user