Memo zum Senden und Empfangen von Bildern mit Python (Flask)

Einführung

Dieses Mal werde ich eine der Möglichkeiten zum Empfangen von Bildern mit der Python-Framework-Flasche notieren. Insbesondere empfängt es das Bild in einem Base64-codierten Format, decodiert es auf der Kolbenseite und stellt das Bild wieder her. Verwenden Sie dann open-cv, um das wiederhergestellte Bild in Graustufen zu konvertieren, es in base64 neu zu codieren und es zu notieren, bis es zurückgegeben wird.

Quelle

Die zu verwendende Bibliothek lautet wie folgt.

requirements.txt


flask
flask-cors
opencv-python
opencv-contrib-python

Ich möchte mehrere in der Anfrage empfangene Datenblätter verarbeiten, daher verwende ich das JSON-Format.

[
    {
        id : 0
        Image : id4zFjyrkAuSI2vUBKVLP...(Base64-codiertes Bild)
    },
    {
        id : 1
        Image : k75GN/oll7KUCulSpSM/S...(Base64-codiertes Bild)
    }
]

main.py


from flask import Flask, jsonify, request
from flask_cors import CORS
import cv2
import numpy as np
import base64

app = Flask('flask-tesseract-api')
CORS(app)

@app.route("/image/", methods=["POST"])
def post():
    """
Bild in Graustufen konvertieren
    """

    response = []

    for json in request.json:

        #Bild dekodieren
        img_stream = base64.b64decode(json['Image'])
        
        #In ein Array konvertieren
        img_array = np.asarray(bytearray(img_stream), dtype=np.uint8)
        
        # open-Graustufen mit Lebenslauf
        img_gray = cv2.imdecode(img_array, 0)
   
        #Konvertierungsergebnis speichern
        cv2.imwrite('result.png', img_before)

        #Codieren Sie für gespeicherte Dateien
        with open('result.png', "rb") as f:
            img_base64 = base64.b64encode(f.read()).decode('utf-8')
        
        #Boxed als Antwort json
        response.append({'id':json['id'], 'result' : img_base64})
       
    return jsonify(response)

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5000,debug=True)

Zusammenfassung

Ich konnte mehrere Bilder im JSON-Format an den Kolben senden. Mit dieser Funktion können Sie die Funktion implementieren, um mehrere Bilder gleichzeitig zu verarbeiten.

Recommended Posts

Memo zum Senden und Empfangen von Bildern mit Python (Flask)
Hinweise zur Bewertung der CG-Bildqualität in Python
Bildformat in Python
Bild-Uploader mit Flasche
Tweet mit Bild in Python
Bildverarbeitungssammlung in Python
Bildzusatznotiz in reportlab
Implementierte Bildsegmentierung in Python (Union-Find)
Holen Sie sich ein Kommunikationsmemo in Python
Hallo Welt mit Flasche [Passendes Memo]
Python-Memo
Python-Memo
Kolben Memo
Python-Memo
Python-Memo
Python-Memo
Versuchen Sie, ein SYN-Paket in Python zu senden
Starten Sie eine Flask-App in Python Anywhere
So passen Sie den Bildkontrast in Python an
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
Notiz der Pixelpositionsoperation für Bilddaten mit Python (numpy, cv2)
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Python-Anfänger-Memo (9.2-10)
Python-Bildverarbeitung
Ein Memo, das ich schnell in Python geschrieben habe
Metaanalyse in Python
Unittest in Python
Verwendung der Python-Bildbibliothek in der Python3-Serie
Was ist im Docker Python-Image pfeifend?
Kolbengrundierung Memo
Epoche in Python
Holen Sie sich die Bild-URL mithilfe der Flickr-API in Python
Deutsch in Python
DCI in Python
Quicksort in Python
Ein Memo, das ich in Python zusammengeführt habe
Flask Grundnotiz
nCr in Python
N-Gramm in Python
★ Memo ★ Python Iroha
Programmieren mit Python
Bildlesememo
Plink in Python
Konstante in Python
Erstellen Sie ein Bild mit Zeichen mit Python (Japanisch)
[Python] EDA-Memo
Python 3-Operator-Memo
FizzBuzz in Python