Maison  >  Article  >  développement back-end  >  Comment restituer des tableaux NumPy sous forme d'images dans FastAPI ?

Comment restituer des tableaux NumPy sous forme d'images dans FastAPI ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-24 02:10:01195parcourir

How to Render NumPy Arrays as Images in FastAPI?

Comment rendre un tableau NumPy dans FastAPI

Vous avez implémenté avec succès une réponse personnalisée pour restituer un tableau NumPy sous forme d'image. Voici une démonstration de la façon de procéder :

Pour cette démonstration, supposons que vous avez créé un tableau NumPy en mémoire de valeurs de pixels.

Utilisation de PIL

  1. Côté serveur :
<code class="python">from PIL import Image
import numpy as np

def render_image(img):
    with io.BytesIO() as buf:
        img = Image.fromarray(img)
        img.save(buf, format="PNG")
        return buf.getvalue()</code>
  1. Côté client :
<code class="python">import requests

url = "http://example.com/image"
response = requests.get(url)
image_bytes = response.content
# You can now render the image using PIL or OpenCV</code>

Utilisation d'OpenCV

  1. Côté serveur :
<code class="python">import cv2
import numpy as np

def render_image(img):
    ret, buf = cv2.imencode('.png', img)
    return buf.tobytes()</code>
  1. Client- Côté :
<code class="python">import requests
import cv2
import numpy as np

url = "http://example.com/image"
response = requests.get(url)
image_bytes = response.content
# You can now render the image using PIL or OpenCV</code>

En incorporant ces extraits de code dans votre application, vous pourrez réussir à restituer des tableaux NumPy sous forme d'images et à les afficher comme vous le souhaitez.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn