Okuma API'sini çağırma

Bu kılavuzda, görüntülerden metin ayıklamak için Okuma API'sini çağırmayı öğrenirsiniz. Bu API'nin davranışını, ihtiyaçlarınızı karşılayacak şekilde yapılandırmanın farklı yollarını öğrenirsiniz.

Bu kılavuzda, kaynak oluşturmak için Görüntü İşleme kaynak oluşturduğunuz Görüntü İşleme abonelik anahtarı ve uç nokta URL'si edinilen varsayılır. Henüz başlamadısanız, hızlı başlangıç yönergelerini izleyin.

Verilerin nasıl işley olduğunu belirleme (isteğe bağlı)

OCR modelini belirtme

Hizmet varsayılan olarak metni ayıklamak için en son GA modelini kullanır. Okuma 3.2'den başlayarak parametre, belirli bir API sürümü için GA ve önizleme modelleri model-version arasında seçime olanak sağlar. Belirttiğiniz model Okuma işlemiyle metin ayıklamak için kullanılır.

Read işlemi kullanılırken isteğe bağlı parametresi için aşağıdaki değerleri model-version kullanın.

Değer Kullanılan model
Sağlanmaz en son GA modeli ve dilleri
en son en son GA modeli ve dilleri
2021-09-30-preview Ek önizleme dilleri ve özellikleriyle önizleme modeli. Önceki GA modelinde yapılan tüm geliştirmeleri içerir.
2021-04-12 tarihe özgü GA ( şu anda en son ile aynı)

Giriş dili

Varsayılan olarak hizmet, karma diller dahil olmak üzere görüntü veya belgelerinizin tüm metinlerini ayıklar. Read işlemi, dil için isteğe bağlı bir istek parametresine sahip. Belgeyi yalnızca belirli bir dil olarak işlenecek şekilde zorlamak için bir dil kodu girin. Aksi takdirde hizmet eksik ve yanlış metinler dönüşe neden olabilir.

Doğal okuma sırası çıkışı (yalnızca Latin dilleri)

Varsayılan olarak, hizmet metin satırlarını soldan sağa doğru çıkış olarak verir. İsteğe bağlı olarak, istek parametresiyle, aşağıdaki örnekte gösterildiği gibi daha kolay readingOrder bir okuma sırası çıkışı için natural kullanın. Bu özellik yalnızca Latin dilleri için de kullanılabilir.

OCR Okuma sırası örneği

Metin ayıklama için sayfa veya sayfa aralıkları seçme

Hizmet varsayılan olarak belgelerde yer alan tüm sayfalardan metin ayıklar. İsteğe bağlı olarak, pages yalnızca bu sayfalardan metin ayıklamak üzere sayfa numaralarını veya sayfa aralıklarını belirtmek için istek parametresini kullanın. Aşağıdaki örnekte, her iki durum için de metin ayıklanan 10 sayfalı bir belge (tüm sayfalar (1-10) ve seçili sayfalar (3-6) ile birlikte gösterir.

Seçili sayfalar çıktısı

Hizmete veri gönderme

Okuma API'sini yerel bir görüntü veya uzak görüntü gönderebilirsiniz. Yerel için, ikili görüntü verilerini HTTP isteği gövdesine koyabilirsiniz. Uzak için, istek gövdesini aşağıdaki gibi biçimlendirerek görüntünün URL'sini belirtirsiniz: {"url":"http://example.com/images/test.jpg"} .

Okuma API'sini Okuma çağrısı, giriş olarak bir görüntü veya PDF belgesi alır ve metni zaman uyumsuz olarak ayıklar.

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

Çağrı, adlı bir yanıt üst bilgisi alanı ile birlikte Operation-Location döndürür. değer, Operation-Location sonraki adımda kullanılacak İşlem Kimliğini içeren bir URL'dir.

Yanıt üst bilgisi Örnek değer
Operation-Location https://cognitiveservice/vision/v3.2/read/analyzeResults/49a36324-fc4b-4387-aa06-090cfbf0064f

Not

Faturalandırma

Bu Görüntü İşleme sayfası, Okuma için fiyatlandırma katmanını içerir. Analiz edilir her görüntü veya sayfa bir işlemdir. 100 sayfa içeren bir PDF veya TIFF belgesiyle işlemi ararsanız, Okuma işlemi bunu 100 işlem olarak sayar ve 100 işlem için faturalandırılacağız. İşleme 50 çağrı yaptıysanız ve her çağrı 100 sayfalık bir belge gönderse, 50 X 100 = 5000 işlem için faturalandırabilirsiniz.

Hizmetten sonuçları al

İkinci adım Okuma Sonuçlarını Al işlemidir. Bu işlem, Okuma işlemi tarafından oluşturulan işlem kimliğini girdi olarak alır.

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

Aşağıdaki olası değerlere sahip bir durum alanı içeren bir JSON yanıtı döndürür.

Değer Anlamı
notStarted İşlem başlamadı.
running İşlem işleniyor.
failed İşlem başarısız oldu.
succeeded İşlem başarılı oldu.

Bu işlemi başarılı bir değerle dönene kadar tekrar tekrar çağırmış oluruz. Saniye başına istek (RPS) oranının aşılmasından kaçınmak için 1 ile 2 saniye arasında bir aralık kullanın.

Not

Ücretsiz katman, istek oranını dakikada 20 çağrıyla sınırlar. Ücretli katman, istek üzerine artırılabilir ve saniye başına 10 istek (RPS) sağlar. Azure kaynak kimliğinizi ve bölgenizi not edin ve bir Azure desteği bileti açın veya hesap takımınıza başvurarak saniye başına daha yüksek bir istek (RPS) oranı talep edin.

Durum alanında değeri olduğunda succeeded JSON yanıtı, görüntünüzden veya belgenize ayıklanan metin içeriğini içerir. JSON yanıtı, tanınan sözcüklerin özgün satır gruplamalarını sürdürür. Ayıklanan metin satırlarını ve sınırlayıcı kutu koordinatlarını içerir. Her metin satırı, koordinatları ve güven puanlarıyla birlikte ayıklanan tüm sözcükleri içerir.

Not

İşleme gönderilen veriler geçici olarak şifrelenir ve kısa bir süre için Read istendiğinde depolanır ve ardından silinir. Bu, uygulamalarınızı hizmet yanıtının bir parçası olarak ayıklanan metni almalarına olanak sağlar.

Örnek JSON çıkışı

Başarılı bir JSON yanıtının aşağıdaki örneğine bakın:

{
  "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
              }
            ]
          }
        ]
      }
    ]
  }
}

Metin satırları için el yazısı sınıflandırması (yalnızca Latin dilleri)

Yanıt, her metin çizgisinin el yazısı stilinde olup olmadığını sınıflendirmeyi ve bir güven puanı içerir. Bu özellik yalnızca Latin dilleri için de kullanılabilir. Aşağıdaki örnekte, görüntüde yer alan metin için el yazısı sınıflandırması yer alacaktır.

OCR el yazısı sınıflandırma örneği

Sonraki adımlar