Textpräsenz- und optische Zeichenerkennung
Der Service „Textpräsenz-/Optische Zeichenerkennung (OCR)“ kann bei einem gegebenen Bild anzeigen, ob Text im Bild vorhanden ist. Wenn Text vorhanden ist, kann OCR den Text zurückgeben.
Die folgende Abbildung wurde in der in diesem Dokument gezeigten Beispielanfrage verwendet:
API-Format
POST /services/v2/predict
Anfrage
Die folgende Anfrage prüft anhand des in der Payload bereitgestellten Eingabebilds, ob Text vorhanden ist. Weitere Informationen zu den angezeigten Eingabeparametern finden Sie in der Tabelle unter der Beispiel-Payload .
Ausführung mit Inline-Bild:
curl -w'\n' -i -X POST https://sensei.adobe.io/services/v2/predict \
-H 'Prefer: respond-async, wait=59' \
-H "x-api-key: $API_KEY" \
-H "content-type: multipart/form-data" \
-H "authorization: Bearer $API_TOKEN" \
-F file=@sample_image.png \
-F 'contentAnalyzerRequests={
"sensei:name": "Feature:cintel-object-detection:Service-b9ace8b348b6433e9e7d82371aa16690",
"sensei:invocation_mode": "asynchronous",
"sensei:invocation_batch": false,
"sensei:engines": [
{
"sensei:execution_info": {
"sensei:engine": "Feature:cintel-object-detection:Service-b9ace8b348b6433e9e7d82371aa16690"
},
"sensei:inputs": {
"documents": [
{
"sensei:multipart_field_name": "file",
"dc:format": "image/jpg"
}
]
},
"sensei:params": {
"correct_with_dictionary": true,
"min_probability": 0.2,
"min_relevance": 0.01,
"filter_with_dictionary": true
},
"sensei:outputs":{
"result" : {
"sensei:multipart_field_name" : "result",
"dc:format": "application/json"
}
}
}
]
}'
Antwort
Bei einer erfolgreichen Antwort wird der Text zurückgegeben, der in der tags für jedes Bild erkannt wurde, das in der Anfrage übergeben wurde. Wenn ein bestimmtes Bild keinen Text enthält, ist is_text_present 0 und tags ist eine leere Liste.
[result0, result1, …]: Liste der Antworten für jedes Eingabedokument. Jedes Ergebnis ist ein dict mit Schlüsseln:
- REQUEST_ELEMENT_ID: Entsprechender Index der Eingabedatei für diese Antwort, 0 für das erste Bild in der Dokumentliste der Anfrage, 1 für das nächste usw.
- Tags: Liste der Wörterbücher Jedes Wörterbuch hat zwei Schlüssel: Text, der ein erkanntes Wort aus dem Bild ist, und Relevanz, die als der Bruchteil des Bereichs des Begrenzungsrahmens des extrahierten Textes im Vergleich zum vollständigen Bild berechnet wird. 0,01 würde in einen Text übersetzt werden, der mindestens 1 % des Bildes einnimmt.
- is_text_present: 0 oder 1, je nachdem, ob Text im Bild vorhanden ist. Wenn Tags den Wert 0 haben, ist die Liste leer.
{
"contentAnalyzerResponse": {
"statuses": [
{
"sensei:engine": "Feature:cintel-object-detection:Service-b9ace8b348b6433e9e7d82371aa16690",
"invocations": [
{
"sensei:outputs": {
"result": {
"sensei:multipart_field_name": "result",
"dc:format": "application/json"
}
},
"message": null,
"status": "200"
}
]
}
],
"request_id": "dttklFR7DPtMtEmjlRSx5BYP5WGg3tTx"
},
"result": [
{
"is_text_present": 1,
"tags": [
{
"text": "yosemite",
"relevance": 0.06
}
],
"request_element_id": 0
}
]
}
Anfrage
Die folgende Anfrage prüft anhand des in der Payload bereitgestellten Eingabebilds, ob Text vorhanden ist. Weitere Informationen zu den angezeigten Eingabeparametern finden Sie in der Tabelle unter der Beispiel-Payload .
Ausführung mit URL:
curl -w'\n' -i -X POST https://sensei.adobe.io/services/v2/predict \
-H 'Prefer: respond-async, wait=59' \
-H "x-api-key: $API_KEY" \
-H "content-type: multipart/form-data" \
-H "authorization: Bearer $API_TOKEN" \
-F 'contentAnalyzerRequests={
"sensei:name": "Feature:cintel-object-detection:Service-b9ace8b348b6433e9e7d82371aa16690",
"sensei:invocation_mode": "asynchronous",
"sensei:invocation_batch": false,
"sensei:engines": [
{
"sensei:execution_info": {
"sensei:engine": "Feature:cintel-object-detection:Service-b9ace8b348b6433e9e7d82371aa16690"
},
"sensei:inputs": {
"documents": [
{
"repo:path": <IMG_URL_PATH>,
"sensei:repoType": "HTTP",
"dc:format": "image/jpg"
}
]
},
"sensei:params": {
"correct_with_dictionary": true
},
"sensei:outputs":{
"result" : {
"sensei:multipart_field_name" : "result",
"dc:format": "application/json"
}
}
}
]
}'
{
"contentAnalyzerResponse": {
"statuses": [
{
"sensei:engine": "Feature:cintel-object-detection:Service-b9ace8b348b6433e9e7d82371aa16690",
"invocations": [
{
"sensei:outputs": {
"result": {
"sensei:multipart_field_name": "result",
"dc:format": "application/json"
}
},
"message": null,
"status": "200"
}
]
}
],
"request_id": "ZbdhcK0JqS4Wg1wGdlEHGR3JOm530YNn"
},
"result": [
{
"is_text_present": 0,
"tags": [],
"request_element_id": 0
}
]
}
documentssensei:multipart_field_namerepo:pathsensei:repoTypedc:formatcorrect_with_dictionaryfilter_with_dictionarymin_probabilitymin_relevancerepo:pathsensei:repoTypesensei:multipart_field_namedc:format„image/jpeg“,
„image/png“,
„image/tiff“