다음을 통해 공유


Azure AI Vision v3.2 GA 읽기 API 호출

이 가이드에서는 v3.2 GA Read API를 호출하여 이미지에서 텍스트를 추출하는 방법을 보여 줍니다. 사용자 요구에 맞게 이 API의 동작을 구성할 수 있는 다양한 방법을 알아봅니다.

다음 단계에서는 Computer Vision 리소스이미 만들고 키 및 엔드포인트 URL을 획득했다고 가정합니다. 아직 시작하지 않은 경우 시작 빠른 시작을 참조하세요.

OCR(읽기) 버전

Important

요구 사항에 가장 적합한 Read 버전을 선택합니다.

입력 예제 Read 버전 장점
이미지: 일반적인 야생 이미지 레이블, 거리 표지판 및 포스터 이미지용 OCR(버전 4.0) 사용자 환경 시나리오에 OCR을 더 쉽게 포함할 수 있도록 하는 성능이 향상된 동기식 API를 사용하여 일반적인 비문서 이미지에 최적화되었습니다.
문서: 이미지를 포함한 디지털 및 검사 문서 책, 문서 및 보고서 문서 인텔리전스 읽기 모델 대규모로 지능적인 문서 처리를 자동화할 수 있도록 하는 비동기 API를 사용하여 텍스트가 많은 검사 및 디지털 문서에 최적화되었습니다.

Azure AI 비전 v3.2 GA 정보 읽기

최신 Azure AI 비전 v3.2 GA 읽기를 찾고 계시나요? 향후의 모든 읽기 OCR 개선 사항은 이전에 나열된 두 가지 서비스의 일부입니다. Azure AI 비전 v3.2에 대한 추가 업데이트는 없습니다. 자세한 내용은 Azure AI Vision 3.2 GA 읽기 API 호출빠른 시작: Azure AI Vision v3.2 GA 읽기를 참조하세요.

데이터 처리 방법 결정(선택 사항)

OCR 모델 지정

기본적으로 서비스는 최신 GA(일반 공급) 모델을 사용하여 텍스트를 추출합니다. 읽기 v3.2부터 매개 변수를 model-version 사용하면 지정된 API 버전에 대한 GA 모델과 미리 보기 모델 중에서 선택할 수 있습니다. 지정한 모델은 읽기 작업으로 텍스트를 추출하는 데 사용됩니다.

읽기 작업을 사용할 때 선택적 model-version 매개 변수에 다음 값을 사용합니다.

사용된 모델
제공되지 않음 최신 GA 모델
가장 늦은 날짜 최신 GA 모델
2022-04-30 최신 GA 모델. 인쇄 텍스트용 164개 언어 및 필기 텍스트용 9개 언어와 함께 품질 및 성능에 대한 몇 가지 개선 사항
2022-01-30 힌디어, 아랍어 및 관련 언어에 대한 인쇄 텍스트 지원을 추가합니다. 손으로 쓴 텍스트의 경우 일본어 및 한국어 지원을 추가합니다.
2021-09-30 러시아어 및 기타 키릴 자모 언어에 대한 인쇄 텍스트 지원을 추가합니다. 손으로 쓴 텍스트의 경우 중국어 간체, 프랑스어, 독일어, 이탈리아어, 포르투갈어 및 스페인어에 대한 지원을 추가합니다.
2021-04-12 2021년 GA 모델

입력 언어

기본적으로 이 서비스는 혼합 언어를 포함하여 이미지 또는 문서에서 모든 텍스트를 추출합니다. 읽기 작업에는 언어에 대한 선택적 요청 매개 변수가 있습니다. 문서를 특정 언어로 처리하도록 하려면 언어 코드만 제공합니다. 그렇지 않으면 서비스가 불완전하고 잘못된 텍스트를 반환할 수 있습니다.

자연스러운 읽기 순서 출력(라틴어만 해당)

기본적으로 서비스는 텍스트 줄을 왼쪽에서 오른쪽 순서로 출력합니다. 선택적으로 readingOrder 요청 매개 변수와 함께 natural를 사용하여 다음 예와 같이 보다 사용자 친화적인 읽는 순서 출력을 수행합니다. 이 기능은 라틴어에 대해서만 지원됩니다.

OCR 읽기 순서 예제의 스크린샷

텍스트 추출을 위한 페이지 또는 페이지 범위 선택

기본적으로 서비스는 문서의 모든 페이지에서 텍스트를 추출합니다. 선택적으로 pages 요청 매개 변수를 사용하여 페이지 번호 또는 페이지 범위를 지정하여 해당 페이지에서만 텍스트를 추출합니다. 다음 예제에서는 모든 페이지(1-10) 및 선택한 페이지(3-6)의 두 경우 모두에 대해 텍스트가 추출된 10페이지가 있는 문서를 보여 줍니다.

모든 페이지 및 선택한 페이지의 출력을 보여 주는 스크린샷

서비스에 데이터 제출

읽기 API에 로컬 이미지 또는 원격 이미지를 제출합니다. 로컬의 경우 HTTP 요청 본문에 이진 이미지 데이터를 저장합니다. 원격의 경우 다음 예제와 같이 요청 본문의 서식을 지정하여 이미지의 URL을 지정합니다.

{"url":"http://example.com/images/test.jpg"}

Read API의 읽기 호출은 이미지 또는 PDF 문서를 입력으로 사용하고 텍스트를 비동기적으로 추출합니다.

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

호출은 Operation-Location이라는 응답 헤더 필드와 함께 반환됩니다. 값은 Operation-Location 다음 단계에서 사용할 작업 ID를 포함하는 URL입니다.

응답 헤더 예제 값
Operation-Location https://cognitiveservice/vision/v3.2/read/analyzeResults/d3d3d3d3-eeee-ffff-aaaa-b4b4b4b4b4b4

참고 항목

Billing

Azure AI Vision 가격 책정 페이지에는 읽기 작업에 대한 가격 책정 계층이 포함되어 있습니다. 분석된 각 이미지 또는 페이지는 하나의 트랜잭션입니다. 100페이지가 포함된 PDF 또는 TIFF 문서를 사용하여 작업을 호출하면 읽기 작업은 100개의 트랜잭션으로 계산되며 100개의 트랜잭션에 대해 요금이 청구됩니다. 작업을 50번 호출하고 각 호출에서 100페이지의 문서를 제출한 경우 50 X 100 = 5000 트랜잭션에 대한 요금이 청구됩니다.

서비스에서 결과 가져오기

두 번째 단계는 읽기 결과 가져오기 작업을 호출하는 것입니다. 이 작업은 읽기 작업에서 만든 작업 ID를 입력으로 사용합니다.

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

다음과 같은 가능한 값을 가진 상태 필드가 포함된 JSON 응답을 반환합니다.

의미
notStarted 작업이 시작되지 않았습니다.
running 작업이 처리 중입니다.
failed 작업이 실패했습니다.
succeeded 작업이 성공했습니다.

성공한 값이 반환될 때까지 이 작업을 반복적으로 호출합니다. RPS(초당 요청 수) 속도를 초과하지 않도록 1~2초 간격을 사용합니다.

참고 항목

체험 계층은 요청 속도를 분당 20개의 호출로 제한합니다. 유료 계층은 요청 시 늘릴 수 있는 30개의 RPS를 허용합니다. Azure 리소스 identfier 및 지역을 확인하고 Azure 지원 티켓을 열거나 계정 팀에 문의하여 더 높은 RPS 속도를 요청합니다.

상태 필드에 succeeded 값이 있는 경우 JSON 응답에는 이미지 또는 문서에서 추출된 텍스트 콘텐츠가 포함됩니다. JSON 응답은 인식된 단어의 원래 줄 그룹을 유지 관리합니다. 추출된 텍스트 줄과 해당 경계 상자 좌표가 포함됩니다. 각 텍스트 줄에는 해당 좌표와 신뢰도 점수가 있는 추출된 모든 단어가 포함됩니다.

참고 항목

읽기 작업에 제출된 데이터는 일시적으로 암호화되어 짧은 기간 동안 저장된 후 삭제됩니다. 이를 통해 애플리케이션은 서비스 응답의 일부로 추출된 텍스트를 검색할 수 있습니다.

샘플 JSON 출력

성공적인 JSON 응답의 다음 예제를 참조하세요.

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

텍스트 줄에 대한 필기 분류(라틴어에만 해당)

응답에는 각 텍스트 줄이 손으로 쓴 것인지에 대한 분류가 신뢰도 점수와 함께 포함됩니다. 이 기능은 라틴어 계열 언어에 대해서만 지원됩니다. 다음 예제에서는 이미지의 텍스트에 대한 필기 분류를 보여 줍니다.

OCR 필기 분류 예제를 보여 주는 스크린샷