Hola, estoy implementando una API de reconocimiento facial en un matraz, y la necesito para recibir una imagen codificada en base64, una vez que la recibo la decodifico para procesarla. En el cliente envío la imagen con este código.
cv2.imwrite ('imagen.jpg', marco)
img = open ('image.jpg', 'rb')
frame = img.read ()
if __name__ == "__main__":
respuesta = request.post ('http: // localhost: 5001 / server / Recognize', json = {'image': str (base64.encodestring (frame))}). json ()
Pero al recibirlo en el microservicio, con este código:
imgbase64 = request.json ["imagen"]
frame = base64.decodestring (imgbase64)
Al enviar la respuesta, tuve que convertir la imagen codificada en una cadena porque si la envío en formato de byte no es aceptada por el formato json. Ahora sucede que cuando es recibido por el microservicio, ya que tuvo que convertirse en cadena, no admite el parámetro cuando lo decodifica con el método base64.encodestring (), por lo que al consumir el microservicio devuelve el error:
Expecting value: line 1 colum 1 char (0)
Gracias de antemano por su ayuda a solucionar el error.