A Read API hívása

Ebből az útmutatóból megtudhatja, hogyan hívhatja meg a Read API-t, hogy szöveget olvasson ki képekből. Megtudhatja, milyen különböző módokon konfigurálhatja az API viselkedését az igényeinek megfelelően.

Ez az útmutató feltételezi, hogy már létrehozott egy Computer Vision erőforrást, Computer Vision erőforrást, valamint beszerez egy előfizetői előfizetői kulcsot és egy végpont URL-címét. Ha még nem, kövesse az első lépések rövid útmutatóját.

Az adatok feldolgozásának meghatározása (nem kötelező)

Az OCR-modell megadása

Alapértelmezés szerint a szolgáltatás a legújabb ga ga modellt fogja használni a szöveg kinyerhez. A Read 3.2-es verziójától kezdődően egy paraméter lehetővé teszi, hogy egy adott API-verzióhoz válasszon az ga és az előzetes model-version verziójú modellek között. A rendszer a megadott modellel fogja kinyerni a szöveget az Olvasás művelettel.

Az Olvasási művelet használata esetén használja a következő értékeket a választható model-version paraméterhez.

Érték Használt modell
Nincs megtéve legújabb ga modell és nyelvek
legújabb legújabb ga modell és nyelvek
2021. 09. 30. előzetes verzió Előzetes verziójú modell a további előzetes verziójú nyelvekkel és funkciókkal. Tartalmazza az előző GA modell minden továbbfejlesztését.
2021-04-12 dátumspecifikus ga ga, jelenleg ugyanaz, mint a legutóbbi

Bemeneti nyelv

Alapértelmezés szerint a szolgáltatás kinyeri az összes szöveget a képekből vagy dokumentumokból, beleértve a vegyes nyelveket is. Az Olvasási művelet választható kérésparaméterrel rendelkezik a nyelvhez. Csak akkor adjon meg nyelvi kódot, ha kényszeríteni szeretné a dokumentum adott nyelvként való feldolgozását. Ellenkező esetben előfordulhat, hogy a szolgáltatás hiányos és helytelen szöveget ad vissza.

Természetes olvasási sorrend kimenete (csak latin nyelvű)

Alapértelmezés szerint a szolgáltatás a balról jobbra sorrendben ad ki szövegsorokat. Ha szükséges, a kérésparaméterrel használhatja az parancsot egy ember számára is használhatóbb olvasási sorrendhez az alábbi readingOrder natural példában látható módon. Ez a funkció csak latin nyelvű nyelveken támogatott.

Példa OCR olvasási sorrendre

Oldal(k) vagy oldaltartományok kiválasztása szövegkinyeréshez

Alapértelmezés szerint a szolgáltatás a dokumentumok összes oldalának szövegét kinyeri. Ha szükséges, a kérésparaméterrel oldalszámokat vagy oldaltartományokat is megadhat, hogy csak ezekből az oldalakból kérjen pages ki szöveget. Az alábbi példa egy 10 oldalas dokumentumot mutat be, amely mindkét esetben kinyeri a szöveget – minden oldal (1-10) és a kijelölt oldalak (3-6) esetén.

Kijelölt oldalak kimenete

Adatok elküldése a szolgáltatásnak

Elküldheti a helyi rendszerképet vagy egy távoli rendszerképet a Read API-nak. A local (helyi) esetén a bináris képadatokat a HTTP-kérés törzsébe kell tenni. Távoli kapcsolat esetén a kép URL-címét a kérelem törzsének az alábbihoz hasonló formázásával adhatja meg: {"url":"http://example.com/images/test.jpg"} .

A Read API Read hívása bemenetként egy képet vagy PDF-dokumentumot használ, és aszinkron módon kinyeri a szöveget.

https://{endpoint}/vision/v3.2/read/analyze[?language][&pages][&readingOrder]

A hívás egy nevű válaszfejlécmezővel tér Operation-Location vissza. Az érték egy URL-cím, amely tartalmazza a következő lépésben használni kívánt Operation-Location műveletazonosítót.

Válaszfejléc Példaérték
Operation-Location https://cognitiveservice/vision/v3.2/read/analyzeResults/49a36324-fc4b-4387-aa06-090cfbf0064f

Megjegyzés

Számlázás

Az Computer Vision tarifacsomag tartalmazza az Olvasás tarifacsomagot. Minden elemzett kép vagy oldal egy tranzakció. Ha a műveletet egy 100 oldalas PDF- vagy TIFF-dokumentummal hívja meg, az olvasási művelet 100 tranzakciónak számítja, és 100 tranzakció után kell fizetni. Ha 50 hívást kezdeményezett a művelethez, és minden hívás egy 100 oldalas dokumentumot adott be, akkor 50 X 100 = 5000 tranzakció után kell fizetni.

Eredmények lekérte a szolgáltatásból

A második lépés az Olvasási eredmények lehívása művelet hívása. Ez a művelet adja meg az olvasási művelet által létrehozott műveletazonosítót.

https://{endpoint}/vision/v3.2/read/analyzeResults/{operationId}

Egy JSON-választ ad vissza, amely egy állapotmezőt tartalmaz az alábbi lehetséges értékekkel.

Érték Értelmezés
notStarted A művelet nem indult el.
running A művelet feldolgozása folyamatban van.
failed A művelet sikertelen volt.
succeeded A művelet sikeres volt.

Ezt a műveletet iteratívan kell meghívni, amíg a sikeres értékkel nem tér vissza. Használjon 1–2 másodperces időközt, hogy elkerülje a kérelmek másodpercenkénti (RPS) sebességének túllépését.

Megjegyzés

Az ingyenes szint percenként 20 hívásra korlátozza a kérelmek sebességét. A fizetős szint másodpercenként 10 kérést (RPS) tesz lehetővé, amelyek igény szerint növelhetők. Jegyezze fel az Azure-erőforrás azonosítóját és régióját, nyisson meg egy Azure-támogatás-jegyet, vagy lépjen kapcsolatba a fiók csapatával, és kérjen magasabb másodpercenkénti kérési (RPS) sebességet.

Ha az állapot mező értéke van, a JSON-válasz tartalmazza a képből vagy dokumentumból kinyert succeeded szöveges tartalmat. A JSON-válasz fenntartja a felismert szavak eredeti sorcsoportját. Tartalmazza a kinyert szövegsorokat és azok határolókeret-koordinátáit. Minden szövegsor tartalmazza az összes kinyert szót azok koordinátáival és megbízhatósági pontszámával együtt.

Megjegyzés

A műveletnek elküldött adatokat a rendszer ideiglenesen titkosítja és tárolja, majd rövid ideig tárolja, majd Read törli. Így az alkalmazások a szolgáltatás válaszának részeként lekérik a kinyert szöveget.

JSON-kimenetminta

Tekintse meg a sikeres JSON-választ az alábbi példában:

{
  "status": "succeeded",
  "createdDateTime": "2021-02-04T06:32:08.2752706+00:00",
  "lastUpdatedDateTime": "2021-02-04T06:32:08.7706172+00:00",
  "analyzeResult": {
    "version": "3.2",
    "readResults": [
      {
        "page": 1,
        "angle": 2.1243,
        "width": 502,
        "height": 252,
        "unit": "pixel",
        "lines": [
          {
            "boundingBox": [
              58,
              42,
              314,
              59,
              311,
              123,
              56,
              121
            ],
            "text": "Tabs vs",
            "appearance": {
              "style": {
                "name": "handwriting",
                "confidence": 0.96
              }
            },
            "words": [
              {
                "boundingBox": [
                  68,
                  44,
                  225,
                  59,
                  224,
                  122,
                  66,
                  123
                ],
                "text": "Tabs",
                "confidence": 0.933
              },
              {
                "boundingBox": [
                  241,
                  61,
                  314,
                  72,
                  314,
                  123,
                  239,
                  122
                ],
                "text": "vs",
                "confidence": 0.977
              }
            ]
          }
        ]
      }
    ]
  }
}

Kézzel írt besorolás szövegvonalakhoz (csak latin nyelvű)

A válasz magában foglalja annak besorolását, hogy minden szöveges sor kézírás-stílusú-e vagy sem, valamint egy megbízhatósági pontszámot. Ez a funkció csak latin nyelvű nyelveken támogatott. Az alábbi példa a képen látható szöveg kézzel írt besorolását mutatja be.

Példa az OCR kézírás-besorolására

Következő lépések