FastAPI ist ein beliebtes Python-Framework zum Erstellen von APIs. Es bietet eine bequeme Möglichkeit, HTTP-Anfragen und -Antworten zu verarbeiten. Dieser Artikel zeigt, wie NumPy-Arrays als Bilder in FastAPI gerendert werden.
<code class="python">from PIL import Image from io import BytesIO @app.get("/image", response_class=Response) def get_image(): arr = np.zeros((512, 512, 3), dtype=np.uint8) arr[0:256, 0:256] = [255, 0, 0] # Red patch in the upper left im = Image.fromarray(arr) with io.BytesIO() as buf: im.save(buf, format='PNG') im_bytes = buf.getvalue() headers = {'Content-Disposition': 'inline; filename="test.png"'} return Response(im_bytes, headers=headers, media_type='image/png')</code>
<code class="python">import cv2 @app.get("/image", response_class=Response) def get_image(): arr = np.zeros((512, 512, 3), dtype=np.uint8) arr[0:256, 0:256] = [255, 0, 0] # Red patch in the upper left arr = cv2.cvtColor(arr, cv2.COLOR_RGB2BGR) # OpenCV uses BGR success, im = cv2.imencode('.png', arr) headers = {'Content-Disposition': 'inline; filename="test.png"'} return Response(im.tobytes(), headers=headers, media_type='image/png')</code>
Hinweis:Verwenden Sie diese Option nur zum Konvertieren und Senden des Bildes als JavaScript-Objekt.
<code class="python">import json @app.get("/image") def get_image(): im = Image.open('test.png') arr = np.asarray(im) return json.dumps(arr.tolist())</code>
<code class="python">@app.get("/image") def get_image(): arr = cv2.imread('test.png') return json.dumps(arr.tolist())</code>
Das obige ist der detaillierte Inhalt vonWie zeige ich NumPy-Arrays als Bilder in FastAPI an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!