Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Rilevamento di testo in un'immagine
Puoi fornire un'immagine di input come matrice di byte dell'immagine (byte dell'immagine codificata in formato Base64) o come oggetto di Amazon S3. In questa procedura, puoi caricare un'immagine in formato JPEG o PNG nel bucket S3 e specificare il nome file.
Per rilevare il testo in un'immagine (API)
-
Qualora non fossero già stati soddisfatti, completa i seguenti prerequisiti:
-
Crea o aggiorna un utente con le autorizzazioni
AmazonRekognitionFullAccess
eAmazonS3ReadOnlyAccess
. Per ulteriori informazioni, consulta Passaggio 1: configura un AWS account e crea un utente. -
Installa e configura gli e gli SDK. AWS Command Line Interface AWS Per ulteriori informazioni, consulta Fase 2: Configurare il AWS CLI e AWS SDKs.
-
-
Carica l’immagine contenente testo nel bucket S3.
Per le istruzioni, consulta Caricamento di oggetti in Amazon S3 nella Guida per l'utente di Amazon Simple Storage Service.
-
Utilizzare i seguenti esempi per richiamare l'operazione
DetectText
.
DetectText richiesta di operazione
Nell'operazione DetectText
puoi specificare un'immagine di input come matrice di byte con codifica base64 o come immagine archiviata in un bucket Amazon S3. La seguente richiesta JSON di esempio mostra l'immagine caricata da un bucket Amazon S3.
{ "Image": { "S3Object": { "Bucket": "bucket", "Name": "inputtext.jpg" } } }
Filtri
La possibilità di filtrare per regione del testo, dimensione e punteggio di affidabilità offre la flessibilità necessaria a controllare l'output del rilevamento di testo. Utilizzando le regioni di interesse, è possibile limitare facilmente il rilevamento del testo alle regioni pertinenti, ad esempio in alto a destra della foto del profilo o di una posizione fissa in relazione a un punto di riferimento quando si leggono i numeri delle parti da un'immagine di una macchina. Il filtro relativo alla dimensione del riquadro di delimitazione del testo può essere utilizzato per evitare testo troppo piccolo sullo sfondo che può risultare un disturbo o irrilevante. Il filtro di affidabilità delle parole ti permette di rimuovere i risultati inaffidabili perché sfocati o sbavati.
Per informazioni sui valori dei filtri, consulta DetectTextFilters
.
Puoi utilizzare i filtri seguenti:
-
MinConfidence—Imposta il livello di confidenza del rilevamento delle parole. Le parole con sicurezza di rilevamento al di sotto di questo livello sono escluse dal risultato. I valori dovrebbero essere compresi tra 0 e 100.
-
MinBoundingBoxWidth— Imposta la larghezza minima del riquadro di delimitazione delle parole. Le parole con caselle di delimitazione inferiori a questo valore sono escluse dal risultato. Il valore è relativo alla larghezza del fotogramma dell'immagine.
-
MinBoundingBoxHeight— Imposta l'altezza minima del riquadro di delimitazione delle parole. Le parole con altezze dei box di delimitazione inferiori a questo valore sono escluse dal risultato. Il valore è relativo all'altezza del fotogramma dell'immagine.
-
RegionsOfInterest— Limita il rilevamento a una regione specifica della cornice dell'immagine. I valori sono relativi alle dimensioni del fotogramma. Per il testo solo parzialmente all'interno di un'area, la risposta non è definita.
DetectText risposta operativa
L'DetectText
operazione analizza l'immagine e restituisce un array TextDetections, in cui ogni elemento (TextDetection
) rappresenta una riga o una parola rilevata nell'immagine. Per ogni elemento, DetectText
restituisce le informazioni riportate di seguito.
-
Il testo rilevato (
DetectedText
) -
Le relazioni tra parole e righe (
Id
eParentId
) -
La posizione del testo nell'immagine (
Geometry
) -
L'affidabilità di Amazon Rekognition riguardo alla precisione del testo rilevato e del riquadro di delimitazione (
Confidence
) -
Il tipo di testo rilevato (
Type
)
Testo rilevato
Ogni elemento TextDetection
contiene testo riconosciuto (parole o righe) nel campo DetectedText
. Una parola corrisponde a uno o più caratteri non separati da spazi. DetectText
è in grado di rilevare fino a 100 parole in un'immagine. Il testo restituito potrebbe includere caratteri che rendono irriconoscibile una parola. Ad esempio, C@t in luogo di Cat. Per determinare se un elemento TextDetection
rappresenta una riga di testo o una parola, usa il campo Type
.
Ogni elemento TextDetection
include un valore percentuale che rappresenta il grado di affidabilità di Amazon Rekognition riguardo alla precisione del testo rilevato e del riquadro di delimitazione attorno al testo.
Relazioni tra parole e righe
Ogni elemento TextDetection
ha un campo di identificazione, Id
. L'Id
mostra la posizione della parola in una riga. Se l'elemento è una parola, il campo di identificazione padre ParentId
identifica la riga in cui è stata rilevata la parola. Il ParentId
per una riga è nullo. Ad esempio, la riga "but keep" nell'immagine di esempio contiene i seguenti valori Id
e ParentId
Testo |
ID |
ID padre |
---|---|---|
but keep |
3 |
|
but |
8 |
3 |
keep |
9 |
3 |
Posizione del testo in un'immagine
Per determinare dove si trova il testo riconosciuto in un'immagine, utilizzare le informazioni sul riquadro di delimitazione (Geometria) restituite da DetectText
. L'oggetto Geometry
contiene due tipi di informazioni sul riquadro di delimitazione per le righe e le parole rilevate:
-
Un contorno rettangolare grossolano allineato all'asse di un oggetto BoundingBox
-
Un poligono più dettagliato costituito da più coordinate X e Y in una matrice Point
Il riquadro di delimitazione e le coordinate del poligono mostrano dove è posizionato il testo nell'immagine di origine. I valori delle coordinate sono espressi in percentuale rispetto alla dimensione generale dell'immagine. Per ulteriori informazioni, vedere. BoundingBox
La seguente risposta JSON dell'operazione DetectText
mostra le parole e le righe rilevate nell'immagine seguente.
{ 'TextDetections': [{'Confidence': 99.35693359375, 'DetectedText': "IT'S", 'Geometry': {'BoundingBox': {'Height': 0.09988046437501907, 'Left': 0.6684935688972473, 'Top': 0.18226495385169983, 'Width': 0.1461552083492279}, 'Polygon': [{'X': 0.6684935688972473, 'Y': 0.1838926374912262}, {'X': 0.8141663074493408, 'Y': 0.18226495385169983}, {'X': 0.8146487474441528, 'Y': 0.28051772713661194}, {'X': 0.6689760088920593, 'Y': 0.2821454107761383}]}, 'Id': 0, 'Type': 'LINE'}, {'Confidence': 99.6207275390625, 'DetectedText': 'MONDAY', 'Geometry': {'BoundingBox': {'Height': 0.11442459374666214, 'Left': 0.5566731691360474, 'Top': 0.3525116443634033, 'Width': 0.39574965834617615}, 'Polygon': [{'X': 0.5566731691360474, 'Y': 0.353712260723114}, {'X': 0.9522717595100403, 'Y': 0.3525116443634033}, {'X': 0.9524227976799011, 'Y': 0.4657355844974518}, {'X': 0.5568241477012634, 'Y': 0.46693623065948486}]}, 'Id': 1, 'Type': 'LINE'}, {'Confidence': 99.6160888671875, 'DetectedText': 'but keep', 'Geometry': {'BoundingBox': {'Height': 0.08314694464206696, 'Left': 0.6398131847381592, 'Top': 0.5267938375473022, 'Width': 0.2021435648202896}, 'Polygon': [{'X': 0.640289306640625, 'Y': 0.5267938375473022}, {'X': 0.8419567942619324, 'Y': 0.5295097827911377}, {'X': 0.8414806723594666, 'Y': 0.609940767288208}, {'X': 0.6398131847381592, 'Y': 0.6072247624397278}]}, 'Id': 2, 'Type': 'LINE'}, {'Confidence': 88.95134735107422, 'DetectedText': 'Smiling', 'Geometry': {'BoundingBox': {'Height': 0.4326171875, 'Left': 0.46289217472076416, 'Top': 0.5634765625, 'Width': 0.5371078252792358}, 'Polygon': [{'X': 0.46289217472076416, 'Y': 0.5634765625}, {'X': 1.0, 'Y': 0.5634765625}, {'X': 1.0, 'Y': 0.99609375}, {'X': 0.46289217472076416, 'Y': 0.99609375}]}, 'Id': 3, 'Type': 'LINE'}, {'Confidence': 99.35693359375, 'DetectedText': "IT'S", 'Geometry': {'BoundingBox': {'Height': 0.09988046437501907, 'Left': 0.6684935688972473, 'Top': 0.18226495385169983, 'Width': 0.1461552083492279}, 'Polygon': [{'X': 0.6684935688972473, 'Y': 0.1838926374912262}, {'X': 0.8141663074493408, 'Y': 0.18226495385169983}, {'X': 0.8146487474441528, 'Y': 0.28051772713661194}, {'X': 0.6689760088920593, 'Y': 0.2821454107761383}]}, 'Id': 4, 'ParentId': 0, 'Type': 'WORD'}, {'Confidence': 99.6207275390625, 'DetectedText': 'MONDAY', 'Geometry': {'BoundingBox': {'Height': 0.11442466825246811, 'Left': 0.5566731691360474, 'Top': 0.35251158475875854, 'Width': 0.39574965834617615}, 'Polygon': [{'X': 0.5566731691360474, 'Y': 0.3537122905254364}, {'X': 0.9522718787193298, 'Y': 0.35251158475875854}, {'X': 0.9524227976799011, 'Y': 0.4657355546951294}, {'X': 0.5568241477012634, 'Y': 0.46693626046180725}]}, 'Id': 5, 'ParentId': 1, 'Type': 'WORD'}, {'Confidence': 99.96778869628906, 'DetectedText': 'but', 'Geometry': {'BoundingBox': {'Height': 0.0625, 'Left': 0.6402802467346191, 'Top': 0.5283203125, 'Width': 0.08027780801057816}, 'Polygon': [{'X': 0.6402802467346191, 'Y': 0.5283203125}, {'X': 0.7205580472946167, 'Y': 0.5283203125}, {'X': 0.7205580472946167, 'Y': 0.5908203125}, {'X': 0.6402802467346191, 'Y': 0.5908203125}]}, 'Id': 6, 'ParentId': 2, 'Type': 'WORD'}, {'Confidence': 99.26438903808594, 'DetectedText': 'keep', 'Geometry': {'BoundingBox': {'Height': 0.0818721204996109, 'Left': 0.7344760298728943, 'Top': 0.5280686020851135, 'Width': 0.10748066753149033}, 'Polygon': [{'X': 0.7349520921707153, 'Y': 0.5280686020851135}, {'X': 0.8419566750526428, 'Y': 0.5295097827911377}, {'X': 0.8414806127548218, 'Y': 0.6099407076835632}, {'X': 0.7344760298728943, 'Y': 0.6084995269775391}]}, 'Id': 7, 'ParentId': 2, 'Type': 'WORD'}, {'Confidence': 88.95134735107422, 'DetectedText': 'Smiling', 'Geometry': {'BoundingBox': {'Height': 0.4326171875, 'Left': 0.46289217472076416, 'Top': 0.5634765625, 'Width': 0.5371078252792358}, 'Polygon': [{'X': 0.46289217472076416, 'Y': 0.5634765625}, {'X': 1.0, 'Y': 0.5634765625}, {'X': 1.0, 'Y': 0.99609375}, {'X': 0.46289217472076416, 'Y': 0.99609375}]}, 'Id': 8, 'ParentId': 3, 'Type': 'WORD'}], 'TextModelVersion': '3.0'}