Der OCR-Dienst (Optical Character Recognition, optische Zeichenerkennung) von Vertex AI in Google Distributed Cloud (GDC) Air-Gapped erkennt Text in Bildern mit der API-Methode BatchAnnotateImages
. Der Dienst unterstützt JPEG- und PNG-Dateien für Bilder.
Auf dieser Seite erfahren Sie, wie Sie mit der OCR API in Distributed Cloud Bildtext erkennen.
Hinweise
Für die Verwendung der OCR API benötigen Sie ein Projekt, für das die OCR API aktiviert ist. Außerdem benötigen Sie die entsprechenden Anmeldedaten. Sie können auch Clientbibliotheken installieren, um Aufrufe an die API zu ermöglichen. Weitere Informationen finden Sie unter Projekt zur Zeichenerkennung einrichten.
Text aus JPEG- und PNG-Dateien erkennen
Mit der Methode BatchAnnotateImages
wird Text aus einem Batch von JPEG- oder PNG-Dateien erkannt.
Sie senden die Datei, aus der Sie Text erkennen möchten, direkt als Inhalt in der API-Anfrage. Das System gibt den erkannten Text im JSON-Format in der API-Antwort zurück.
Sie müssen Werte für die Felder im JSON-Text Ihrer API-Anfrage angeben. In der folgenden Tabelle finden Sie eine Beschreibung der Felder im Anfragetext, die Sie angeben müssen, wenn Sie die API-Methode BatchAnnotateImages
für Ihre Anfragen zur Texterkennung verwenden:
Felder im Anfragetext | Feldbeschreibung |
---|---|
content |
Die Bilder mit dem zu erkennenden Text. Sie stellen die Base64-Darstellung (ASCII-String) Ihrer Binärbilddaten bereit. |
type |
Die Art der Texterkennung, die Sie für das Bild benötigen. Geben Sie eines der beiden Annotations-Features an:
|
language_hints |
Optional. Liste der Sprachen, die für die Texterkennung verwendet werden sollen Ein leerer Wert für dieses Feld wird vom System als automatische Spracherkennung interpretiert. Bei Sprachen, die auf dem lateinischen Alphabet basieren, müssen Sie das Feld language_hints nicht festlegen.Wenn Sie die Sprache des Textes im Bild kennen, können Sie durch Festlegen eines Hinweises die Ergebnisse verbessern. |
Informationen zur vollständigen JSON-Darstellung finden Sie unter AnnotateImageRequest
.
API-Anfrage stellen
Stellen Sie eine Anfrage an die vortrainierte OCR-API mit der REST API-Methode. Andernfalls können Sie über ein Python-Skript mit der vortrainierten OCR-API interagieren, um Text aus JPEG- oder PNG-Dateien zu erkennen.
Die folgenden Beispiele zeigen, wie Sie Text in einem Bild mithilfe von OCR erkennen:
REST
So erkennen Sie Text in Bildern mit der REST API-Methode:
Speichern Sie die folgende
request.json
-Datei für den Anfragetext:cat <<- EOF > request.json { "requests": [ { "image": { "content": BASE64_ENCODED_IMAGE }, "features": [ { "type": "FEATURE_TYPE" } ], "image_context": { "language_hints": [ "LANGUAGE_HINT_1", "LANGUAGE_HINT_2", ... ] } } ] } EOF
Ersetzen Sie Folgendes:
BASE64_ENCODED_IMAGE
: die Base64-Darstellung (ASCII-String) der Binärbilddaten. Dieser String beginnt mit Zeichen, die/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
ähneln.FEATURE_TYPE
: Die Art der Texterkennung, die Sie für das Bild benötigen. Zulässige Werte sindTEXT_DETECTION
oderDOCUMENT_TEXT_DETECTION
.LANGUAGE_HINT
: Die BCP 47-Sprachtags, die als Sprachhinweise für die Texterkennung verwendet werden sollen, z. B.en-t-i0-handwrit
. Dieses Feld ist optional. Ein leerer Wert wird vom System als automatische Spracherkennung interpretiert.
Stellen Sie die Anfrage:
curl
curl -X POST \ -H "Authorization: Bearer TOKEN" \ -H "x-goog-user-project: projects/PROJECT_ID" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ https://ENDPOINT/v1/images:annotate
Ersetzen Sie Folgendes:
TOKEN
: Das Authentifizierungstoken, das Sie erhalten haben.PROJECT_ID
: Ihre Projekt-ID.ENDPOINT
: Der OCR-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen
PowerShell
$headers = @{ "Authorization" = "Bearer TOKEN" "x-goog-user-project" = "projects/PROJECT_ID" } Invoke-WebRequest -Method POST -Headers $headers -ContentType: "application/json; charset=utf-8" -InFile request.json -Uri "ENDPOINT/v1/images:annotate" | Select-Object -Expand Content
Ersetzen Sie Folgendes:
TOKEN
: Das Authentifizierungstoken, das Sie erhalten haben.ENDPOINT
: Der OCR-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen
Python
So verwenden Sie den OCR-Dienst über ein Python-Skript, um Text in einem Bild zu erkennen:
Installieren Sie die aktuelle Version der OCR-Clientbibliothek.
Erforderliche Umgebungsvariablen in einem Python-Skript festlegen
Fügen Sie dem von Ihnen erstellten Python-Skript den folgenden Code hinzu:
from google.cloud import vision import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience = "https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def vision_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return vision.ImageAnnotatorClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) print("Got token: ") print(creds.token) except Exception as e: print("Caught exception" + str(e)) raise e return creds def vision_func(creds): vc = vision_client(creds) image = {"content": "BASE64_ENCODED_IMAGE"} features = [{"type_": vision.Feature.Type.FEATURE_TYPE}] # Each requests element corresponds to a single image. To annotate more # images, create a request element for each image and add it to # the array of requests req = {"image": image, "features": features} metadata = [("x-goog-user-project", "projects/PROJECT_ID")] resp = vc.annotate_image(req,metadata=metadata) print(resp) if __name__=="__main__": creds = main() vision_func(creds)
Ersetzen Sie Folgendes:
ENDPOINT
: Der OCR-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere InformationenBASE64_ENCODED_IMAGE
: die Base64-Darstellung (ASCII-String) der Binärbilddaten. Dieser String beginnt mit Zeichen, die/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
ähneln.FEATURE_TYPE
: Die Art der Texterkennung, die Sie für das Bild benötigen. Zulässige Werte sindTEXT_DETECTION
oderDOCUMENT_TEXT_DETECTION
.PROJECT_ID
: Ihre Projekt-ID.
Speichern Sie das Python-Skript.
Führen Sie das Python-Skript aus, um Text im Bild zu erkennen:
python SCRIPT_NAME
Ersetzen Sie
SCRIPT_NAME
durch den Namen, den Sie Ihrem Python-Skript gegeben haben, z. B.vision.py
.