Logré crear un archivo base64 en el backend con la función: for (x, y, w, h) on y y: frame=put_glass(glass, img, x, y, w, h) res,glass1 = cv2.imencode(" .JPEG",frame) image = Image.fromarray(glass1) buff = BytesIO() picture.save(buff, format="JPEG") new_image_string = base64.b64encode(buff.getvalue()).decode("utf-8 ") volver (nueva_imagen_cadena)
sin embargo, la cadena base64 devuelve la foto en azul, creo que tiene que ver con cv2.imshow, porque cuando llamo a este método, uso glass1 para mostrar la imagen y no el marco.
Supongo que estás buscando algo como esto:
await api2.post('/glass1/', formData, headers) .then((response) => { const data = response.data return data.blob() }) .then((data) => { const reader = new FileReader(); reader.onload = function() { const b64 = reader.result document.getElementById("img").src = b64; } reader.readAsDataURL(data) })