Из вашего кода я понимаю, что в вашей конечной точке вы ожидаете данные base64. Если это так, вы можете попробовать что-то вроде этого:
import base64
from io import BytesIO
@app.route('/send_pic',methods=['GET','POST'])
def button_pressed():
print("Image recieved")
data_url = request.values['imageBase64']
# Decoding base64 string to bytes object
img_bytes = base64.b64decode(data_url)
img = Image.open(BytesIO(img_bytes))
img = np.array(img)
cv2.imshow(img)
cv2.waitKeys(0)
cv2.destroyAllWindows()
return ""
Редактировать :
Если данные, которые вы отправляете, не являются base64, вы можете попытаться преобразовать их, используя numpy, например:
from flask import request
...
img_data = np.fromstring(request.data, np.uint8)
# Do what you want with it
cv2.imshow(img)
Редактировать 2:
На основании предоставленного вами значения вы должны разделить значение из запроса, чтобы получить данные изображения base64:
@app.route('/send_pic',methods=['GET','POST'])
def button_pressed():
print("Image recieved")
data_url = request.values['imageBase64']
# Decoding base64 string to bytes object
offset = data_url.index(',')+1
img_bytes = base64.b64decode(data_url[offset:])
img = Image.open(BytesIO(img_bytes))
img = np.array(img)
cv2.imshow(img)
cv2.waitKeys(0)
cv2.destroyAllWindows()
return ""