OCR kognitív képesség
Az optikai karakterfelismerési (OCR) képesség felismeri a képfájlokban lévő nyomtatott és kézzel írt szöveget. Ez a cikk az OCR-képesség referenciadokumentációja. A használati utasításokért tekintse meg a képek szövegének kinyerése című témakört.
Az OCR-képesség az Azure AI Vision API 3.2-es verziója által biztosított gépi tanulási modelleket használja az Azure AI-szolgáltatásokban. Az OCR-képesség a következő funkciókra képez le:
Az Azure AI Vision nyelvi támogatásában felsorolt nyelvek esetében a Read API-t használja a rendszer.
A görög és a szerb cirill betűs esetében a 3.2-es verziójú API régi OCR-ét használják.
Az OCR-képesség képfájlokból és beágyazott képekből nyer ki szöveget. A támogatott fájlformátumok a következők:
- . JPEG
- .JPG
- .PNG
- .BMP
- . ÖSSZETŰZÉS
Az OCR és a képelemzés támogatott adatforrásai az Azure Blob Storage és az Azure Data Lake Storage (ADLS) Gen2 blobok, valamint a OneLake képtartalmai. A képek lehetnek önálló fájlok vagy beágyazott képek PDF-fájlban vagy más fájlokban.
Feljegyzés
Ez a képesség az Azure AI-szolgáltatásokhoz van kötve, és számlázható erőforrást igényel olyan tranzakciókhoz, amelyek indexelőnként naponta 20 dokumentumot meghaladóak. A beépített készségek végrehajtásáért a meglévő Azure AI-szolgáltatások használatalapú fizetéses díját számítjuk fel.
Emellett a rendszerképek kinyerése az Azure AI Search által számlázható.
Képességparaméterek
A paraméterek megkülönböztetik a kis- és nagybetűket.
Paraméter neve | Leírás |
---|---|
detectOrientation |
Észleli a kép tájolását. Az érvényes értékek a következők: true vagy false . Ez a paraméter csak akkor érvényes, ha az örökölt OCR 3.2-es API-t használja. |
defaultLanguageCode |
A bemeneti szöveg nyelvi kódja. A támogatott nyelvek közé tartozik az Azure AI Vision összes általánosan elérhető nyelve . Megadhatja az (Ismeretlen) értéket unk is. Ha a nyelvi kód nem határozható meg vagy null, a nyelv angolra van állítva. Ha a nyelv explicit módon van beállítva unk , a rendszer minden talált nyelvet automatikusan észlel és visszaad. |
lineEnding |
A vonalelválasztóként használandó érték. Lehetséges értékek: "Space", "CarriageReturn", "LineFeed". Az alapértelmezett érték a "Szóköz". |
A korábbi verziókban volt egy "textExtractionAlgorithm" nevű paraméter a "nyomtatott" vagy a "kézzel írt" szöveg kinyerésének megadásához. Ez a paraméter elavult, mert az aktuális Read API-algoritmus egyszerre mindkét szövegtípust kinyeri. Ha a képesség tartalmazza ezt a paramétert, nem kell eltávolítania, de a képesség végrehajtása során nem fogja használni.
Készségbemenetek
Bemeneti név | Leírás |
---|---|
image |
Összetett típus. Jelenleg csak a "/document/normalized_images" mezővel működik, amelyet az Azure blobindexelő állít elő, ha imageAction nem none a . |
Képességkimenetek
Kimeneti név | Leírás |
---|---|
text |
A képből kinyert egyszerű szöveg. |
layoutText |
Összetett típus, amely a kinyert szöveget és a szöveg helyét írja le. |
Ha PDF-fájlokba vagy más alkalmazásfájlokba beágyazott képeken hívja meg az OCR-t, az OCR-kimenet a lap alján található, a kinyert és feldolgozott szövegek után.
Mintadefiníció
{
"skills": [
{
"description": "Extracts text (plain and structured) from image.",
"@odata.type": "#Microsoft.Skills.Vision.OcrSkill",
"context": "/document/normalized_images/*",
"defaultLanguageCode": null,
"detectOrientation": true,
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "text",
"targetName": "myText"
},
{
"name": "layoutText",
"targetName": "myLayoutText"
}
]
}
]
}
Szövegminta és elrendezésSzöveg kimenete
{
"text": "Hello World. -John",
"layoutText":
{
"language" : "en",
"text" : "Hello World. -John",
"lines" : [
{
"boundingBox":
[ {"x":10, "y":10}, {"x":50, "y":10}, {"x":50, "y":30},{"x":10, "y":30}],
"text":"Hello World."
},
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"-John"
}
],
"words": [
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"Hello"
},
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"World."
},
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"-John"
}
]
}
}
Minta: Beágyazott képekből kinyert szöveg egyesítése a dokumentum tartalmával
A dokumentumrepedés, a készségkészlet végrehajtásának első lépése elválasztja a szöveg- és képtartalmakat. A szövegegyesítés gyakori használati esete a képek szöveges ábrázolása (ocR-képességből származó szöveg vagy kép felirata) egyesítése a dokumentum tartalommezőjébe. Ez olyan helyzetekre érvényes, amikor a forrásdokumentum egy PDF- vagy Word-dokumentum, amely beágyazott képekkel kombinálja a szöveget.
Az alábbi példakészség-halmaz létrehoz egy merged_text mezőt. Ez a mező a dokumentum szöveges tartalmát és a dokumentumba ágyazott képek ocRed szövegét tartalmazza.
Kéréstörzs szintaxisa
{
"description": "Extract text from images and merge with content text to produce merged_text",
"skills":
[
{
"description": "Extract text (plain and structured) from image.",
"@odata.type": "#Microsoft.Skills.Vision.OcrSkill",
"context": "/document/normalized_images/*",
"defaultLanguageCode": "en",
"detectOrientation": true,
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "text"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Text.MergeSkill",
"description": "Create merged_text, which includes all the textual representation of each image inserted at the right location in the content field.",
"context": "/document",
"insertPreTag": " ",
"insertPostTag": " ",
"inputs": [
{
"name":"text",
"source": "/document/content"
},
{
"name": "itemsToInsert",
"source": "/document/normalized_images/*/text"
},
{
"name":"offsets",
"source": "/document/normalized_images/*/contentOffset"
}
],
"outputs": [
{
"name": "mergedText",
"targetName" : "merged_text"
}
]
}
]
}
A fenti képességkészlet-példa feltételezi, hogy létezik normalizált képmező. A mező létrehozásához állítsa be az imageAction konfigurációt az indexelő definíciójában úgy, hogy létrehozza aNormalizedImages értéket az alábbi módon:
{
//...rest of your indexer definition goes here ...
"parameters": {
"configuration": {
"dataToExtract":"contentAndMetadata",
"imageAction":"generateNormalizedImages"
}
}
}