

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Textract 작동 방식
<a name="how-it-works"></a>

Amazon Textract Textract를 사용하면 단일 또는 다중 페이지 입력 문서의 텍스트를 감지하고 분석할 수 있습니다 ([입력 문서](how-it-works-documents.md)).

Amazon Textract Textract는 다음 작업에 대한 작업을 제공합니다.
+ 텍스트만 감지합니다. 자세한 내용은 를 참조하십시오.[텍스트 감지](how-it-works-detecting.md).
+ 텍스트 간의 관계를 감지하고 분석합니다. 자세한 내용은 를 참조하십시오.[문서 분석](how-it-works-analyzing.md).
+ 인보이스 및 영수증의 텍스트 감지 및 분석 자세한 내용은 를 참조하십시오.[송장 및 수금 분석](invoices-receipts.md).
+ 정부 신원 증명서의 텍스트 감지 및 분석 자세한 내용은 를 참조하십시오.[ID 문서 분석](how-it-works-identity.md).

Amazon Textract Textract는 작은 단일 페이지 문서를 처리하고 거의 실시간으로 응답하는 동기식 작업을 제공합니다. 자세한 정보는 [동기식 작업을 통한 문서 처리](sync.md)을 참조하십시오. 또한 Amazon Textract Textract는 더 큰 다중 페이지 문서를 처리하는 데 사용할 수 있는 비동기 작업도 제공합니다. 비동기 응답은 실시간으로 이루어지지 않습니다. 자세한 정보는 [비동기 작업을 사용한 문서 처리](async.md)을 참조하십시오.

Amazon Textract 작업에서 문서를 처리할 때 결과는 다음과 같은 배열로 반환됩니다.[Block](API_Block.md)객체 또는 배열[ExpenseDocument](API_ExpenseDocument.md)객체입니다. 두 개체에는 문서상의 위치 및 문서의 다른 항목과의 관계 등 항목에 대해 감지된 정보가 들어 있습니다. 자세한 정보는 [Amazon Textract 응답 객체](how-it-works-document-response.md)을 참조하십시오. 사용 방법을 보여주는 예제의 경우`Block`객체, 참조[자습서](examples-blocks.md).

**Topics**
+ [텍스트 감지](how-it-works-detecting.md)
+ [문서 분석](how-it-works-analyzing.md)
+ [송장 및 수금 분석](invoices-receipts.md)
+ [ID 문서 분석](how-it-works-identity.md)
+ [입력 문서](how-it-works-documents.md)
+ [Amazon Textract 응답 객체](how-it-works-document-response.md)
+ [문서 페이지의 항목 위치](text-location.md)

# 텍스트 감지
<a name="how-it-works-detecting"></a>

Amazon Textract Textract는 문서에서 감지된 텍스트만 반환하는 동기 및 비동기 작업을 제공합니다. 두 작업 세트 모두에 대해 다음 정보가 여러 개로 반환됩니다.[Block](API_Block.md)객체입니다.
+ 감지된 텍스트의 줄과 단어
+ 검색된 텍스트의 줄과 단어 간의 관계
+ 검색된 텍스트가 표시되는 페이지
+ 문서 페이지의 텍스트 줄 및 단어 위치

자세한 정보는 [줄 및 텍스트 단어](how-it-works-lines-words.md)을 참조하십시오.

텍스트를 동기적으로 감지하려면[DetectDocumentText](API_DetectDocumentText.md)API 작업을 수행하고 문서 파일을 입력으로 전달합니다. 전체 결과 집합이 작업에 의해 반환됩니다. 자세한 내용과 예제는 [동기식 작업을 통한 문서 처리](sync.md) 단원을 참조하십시오.

**참고**  
Amazon Rekognition API 작업`DetectText`는 와 다릅니다.`DetectDocumentText`. 사용할 수 있습니다`DetectText`포스터 또는 도로 표지판과 같은 라이브 장면에서 텍스트를 감지합니다.

텍스트를 비동기적으로 감지하려면[StartDocumentTextDetection](API_StartDocumentTextDetection.md)입력 문서 파일 처리를 시작합니다. 결과를 가져오려면[GetDocumentTextDetection](API_GetDocumentTextDetection.md). 결과는 다음 중 하나 이상의 응답으로 반환됩니다.`GetDocumentTextDetection`. 자세한 내용과 예제는 [비동기 작업을 사용한 문서 처리](async.md) 단원을 참조하십시오.

# 문서 분석
<a name="how-it-works-analyzing"></a>

Amazon Textract Textract는 검색된 텍스트 간의 관계를 위해 문서와 양식을 분석합니다. Amazon Textract 분석 작업은 텍스트, 양식 및 표 등 세 가지 문서 추출 범주를 반환합니다. 송장 및 영수증 분석은 다른 프로세스를 통해 처리됩니다. 자세한 내용은[송장 및 수금 분석](invoices-receipts.md).

**텍스트 추출**  
문서에서 추출한 원시 텍스트입니다. 자세한 내용은 단원을 참조하십시오.[줄 및 텍스트 단어](how-it-works-lines-words.md).

**양식 추출**  
양식 데이터는 문서에서 추출한 텍스트 항목에 링크됩니다. Amazon Textract Textract는 양식 데이터를 키-값 페어로 나타냅니다. 다음 예에서 Amazon Textract Textract에서 감지한 텍스트 줄 중 하나는 다음과 같습니다.*이름: 제인 Doe*. 또한 Amazon Textract Textract는 키를 식별합니다 (*이름:*) 및 값 (*제인 Doe*). 자세한 내용은 단원을 참조하십시오.[양식 데이터 (키-값 쌍)](how-it-works-kvp.md).

*이름: 제인 Doe*

*Address: 123 애니 스트리트, 애니타운, 미국*

*생년월일: 12-26-1980*

키-값 쌍은 양식에서 추출된 확인란 또는 옵션 버튼 (라디오 버튼) 을 나타내는 데에도 사용됩니다.

*male:*☑

자세한 내용은 단원을 참조하십시오.[선택 요소](how-it-works-selectables.md).

**테이블 추출**  
Amazon Textract Textract는 테이블, 테이블 셀 및 테이블 셀 내의 항목을 추출할 수 있으며 결과를 JSON, .csv 또는.txt 파일로 반환하도록 프로그래밍할 수 있습니다.


| 이름 | Address | 
| --- | --- | 
|  아나 캐롤라이나  |  123 Any Town  | 

자세한 내용은 [테이블](how-it-works-tables.md)을 참조하십시오. 테이블에서 선택 요소를 추출할 수도 있습니다. 자세한 내용은 단원을 참조하십시오.[선택 요소](how-it-works-selectables.md).

분석된 아이템의 경우 Amazon Textract Textract는 다음을 여러 개로 반환합니다.[Block](API_Block.md)객체:
+ 감지된 텍스트의 줄과 단어
+ 탐지된 항목의 내용
+ 탐지된 항목 간의 관계
+ 항목이 감지된 페이지
+ 문서 페이지에 있는 항목의 위치입니다.

동기식 또는 비동기 작업을 사용하여 문서의 텍스트를 분석할 수 있습니다. 텍스트를 동기적으로 분석하려면[AnalyzeDocument](API_AnalyzeDocument.md)작업을 수행하고 문서를 입력으로 전달합니다.`AnalyzeDocument`은 전체 결과 집합을 반환합니다. 자세한 정보는 [Amazon Textract Textract를 사용하여 문서 텍스트 분석](analyzing-document-text.md)을 참조하십시오.

텍스트를 비동기적으로 감지하려면[StartDocumentAnalysis](API_StartDocumentAnalysis.md)처리를 시작합니다. 결과를 가져오려면[GetDocumentAnalysis](API_GetDocumentAnalysis.md). 결과는 다음 중 하나 이상의 응답으로 반환됩니다.`GetDocumentAnalysis`. 자세한 내용과 예제는 [다중 페이지 문서에서 텍스트 감지 또는 분석](async-analyzing-with-sqs.md) 단원을 참조하십시오.

수행할 분석 유형을 지정하려면`FeatureTypes`목록 입력 매개 변수입니다. 목록에 TABLES를 추가하여 입력 문서에서 검색된 테이블 (예: 표 셀, 셀 텍스트 및 셀의 선택 요소) 에 대한 정보를 반환합니다. FORMS를 추가하여 키-값 쌍 및 선택 요소와 같은 단어 관계를 반환합니다. 두 가지 유형의 분석을 모두 수행하려면 TABLES와 FORMS를 다음에 추가합니다.`FeatureTypes`.

문서에서 감지된 모든 줄과 단어가 응답에 포함됩니다 (값과 관련이 없는 텍스트 포함)`FeatureTypes`).

# 송장 및 수금 분석
<a name="invoices-receipts"></a>

Amazon Textract Textract는 템플릿 또는 구성 없이 거의 모든 인보이스 또는 영수증에서 연락처 정보, 구매한 아이템 및 공급업체 이름과 같은 관련 데이터를 추출합니다. 송장 및 영수증은 종종 다양한 레이아웃을 사용하므로 대규모로 데이터를 수동으로 추출하는 것이 어렵고 시간이 많이 걸립니다. Amazon Textract Textract는 ML을 사용하여 송장 및 영수증의 컨텍스트를 파악하고 송장 또는 영수증 날짜, 인보이스 또는 영수증 번호, 아이템 가격, 총액 및 결제 조건과 같은 데이터를 비즈니스 요구에 맞게 자동으로 추출합니다.

또한 Amazon Textract Textract는 워크플로에 중요하지만 명시적으로 레이블이 지정되지 않을 수 있는 공급업체 이름도 식별합니다. 예를 들어 Amazon Textract Textract는 명시적인 키-값 쌍 조합 없이 페이지 상단의 로고 안에만 표시되어 있더라도 영수증에서 공급업체 이름을 찾을 수 있습니다. 또한 Amazon Textract Textract를 사용하면 동일한 개념에 대해 서로 다른 단어를 사용하는 다양한 영수증 및 송장의 입력을 쉽게 통합할 수 있습니다. 예를 들어 Amazon Textract Textract는 고객 번호, 고객 번호, 계정 ID와 같은 서로 다른 문서의 필드 이름 간의 관계를 매핑하여 표준 분류법을 다음과 같이 출력합니다.`INVOICE_RECEIPT_ID`. 이 경우 Amazon Textract Textract는 여러 문서 유형에 걸쳐 일관되게 데이터를 나타냅니다. 표준 분류법에 정렬되지 않는 필드는 다음과 같이 분류됩니다.`OTHER`.

다음은 AnalyzeFreent가 현재 지원하는 표준 필드 목록입니다.
+ 공급업체 이름:`VENDOR_NAME`
+ 총:`TOTAL`
+ 수신자 주소:`RECEIVER_ADDRESS`
+ 송장/수금 일자:`INVOICE_RECEIPT_DATE`
+ 송장/영수증 ID:`INVOICE_RECEIPT_ID`
+ 결제 조건:`PAYMENT_TERMS`
+ 소계:`SUBTOTAL`
+ 기한:`DUE_DATE`
+ 세금:`TAX`
+ 송장 납세자 ID (SSN/ITIN 또는 EIN):`TAX_PAYER_ID`
+ 아이템 이름:`ITEM_NAME`
+ 아이템 가격:`PRICE`
+ 품목 수량:`QUANTITY`

AnalyzeCreents API는 지정된 문서 페이지에 대해 다음 요소를 반환합니다.
+ 페이지 내의 영수증 또는 청구서 수는 다음과 같이 표시됩니다.`ExpenseIndex`
+ 다음과 같이 표현되는 개별 필드의 표준화된 이름`Type`
+ 다음과 같이 표현되는 필드의 실제 이름입니다.`LabelDetection`
+ 다음과 같이 표시되는 해당 필드의 값입니다.`ValueDetection`
+ 제출된 문서 내의 페이지 수는 다음과 같이 표시됩니다.`Pages`
+ 필드, 값 또는 라인 항목이 감지된 페이지 번호로,`PageNumber`
+ 페이지에 있는 개별 필드, 값 또는 라인 항목의 경계 상자와 좌표 위치를 포함하는 지오메트리로`Geometry`
+ 문서에서 탐지된 각 데이터 조각과 관련된 신뢰 점수로, 다음과 같이 표시됩니다.`Confidence`
+ 구매한 개별 품목의 전체 행으로,`EXPENSE_ROW`

다음은 AnalyzeFreents에서 처리한 수금에 대한 API 출력의 일부이며, 표준 필드로 추출된 문서의 합계: \$155.64를 보여 줍니다.`TOTAL`, 문서의 실제 텍스트를 “합계”, 신뢰 점수 “97.1”, 페이지 번호 “1”, “\$155.64"로 된 총 값 및 테두리 상자 및 다각형 좌표: 

```
{
    "Type": {
        "Text": "TOTAL",
        "Confidence": 99.94717407226562
    },
    "LabelDetection": {
        "Text": "Total:",
        "Geometry": {
            "BoundingBox": {
                "Width": 0.09809663146734238,
                "Height": 0.0234375,
                "Left": 0.36822840571403503,
                "Top": 0.8017578125
            },
            "Polygon": [
                {
                    "X": 0.36822840571403503,
                    "Y": 0.8017578125
                },
                {
                    "X": 0.466325044631958,
                    "Y": 0.8017578125
                },
                {
                    "X": 0.466325044631958,
                    "Y": 0.8251953125
                },
                {
                    "X": 0.36822840571403503,
                    "Y": 0.8251953125
                }
        ]
    },
    "Confidence": 97.10792541503906
},
    "ValueDetection": {
        "Text": "$55.64",
        "Geometry": {
            "BoundingBox": {
                "Width": 0.10395314544439316,
                "Height": 0.0244140625,
                "Left": 0.66837477684021,
                "Top": 0.802734375
            },
            "Polygon": [
                {
                    "X": 0.66837477684021,
                    "Y": 0.802734375
                },
                {
                    "X": 0.7723279595375061,
                    "Y": 0.802734375
                },
                {
                    "X": 0.7723279595375061,
                    "Y": 0.8271484375
                },
                {
                    "X": 0.66837477684021,
                    "Y": 0.8271484375
                }
            ]
        },
    "Confidence": 99.85165405273438
},
"PageNumber": 1
}
```

동기 작업을 사용하여 송장 또는 영수증을 분석할 수 있습니다. 이러한 문서를 분석하려면 AnalyzeFreent 작업을 사용하여 영수증 또는 송장을 전달합니다.`AnalyzeExpense`은 전체 결과 집합을 반환합니다. 자세한 정보는 [Amazon Textract Textract를 사용하여 송장 및 영수증 분석](analyzing-document-expense.md)을 참조하십시오.

송장 및 영수증을 비동기적으로 분석하려면[StartExpenseAnalysis](API_StartExpenseAnalysis.md)입력 문서 파일 처리를 시작합니다. 결과를 가져오려면[GetExpenseAnalysis](API_GetExpenseAnalysis.md). 지정된 호출에 대한 결과[StartExpenseAnalysis](API_StartExpenseAnalysis.md)에서 반환됩니다.`GetExpenseAnalysis`. 자세한 내용과 예제는 [비동기 작업을 사용한 문서 처리](async.md) 단원을 참조하십시오.

# ID 문서 분석
<a name="how-it-works-identity"></a>

 Amazon Textract Textract는 AnalyzeID API를 사용하여 미국 정부가 발행한 여권, 운전 면허증 및 기타 자격 증명 문서에서 관련 정보를 추출할 수 있습니다. Analyze ID를 사용하면 기업들은 미국 운전 면허증, 주 ID 및 템플릿이나 형식이 다른 여권과 같은 ID에서 정보를 빠르고 정확하게 추출할 수 있습니다. AnalyzeID API는 다음 두 가지 범주의 데이터 유형을 반환합니다.
+  생년월일, 발행일, ID 번호, 클래스 및 제한과 같은 ID에서 사용할 수 있는 키-값 쌍입니다.
+  이름, 주소, 발행자 등 명시적 키가 연결되어 있지 않을 수 있는 문서의 암시적 필드입니다.

주요 이름은 응답 내에서 표준화됩니다. 예를 들어 운전 면허증에 LIC\$1 (라이센스 번호) 이 표시되고 여권에 여권 아니오가 표시되면 분석 ID 응답은 표준 키를 원시 키 (예: LIC\$1) 와 함께 “문서 ID”로 반환합니다. 이러한 표준화를 통해 고객은 동일한 개념에 대해 서로 다른 용어를 사용하는 여러 ID에서 정보를 쉽게 결합할 수 있습니다.

![\[설명 텍스트는 다음과 같습니다. 매사추세츠 주에서의 모의 운전 면허증. 면허를 소유한 개인의 이름은 마리아 가르시아입니다. ISS 필드의 값은 2018년 3월 18일입니다. 숫자 필드에는 값이 736HDV7874JSB 입니다. EXP 필드에는 01/2028의 값이 있습니다. DOB 필드의 값은 2001년 3월 18일입니다. CLASS 필드의 값은 D입니다. REST 필드는 NONE입니다. END 필드는 NONE입니다. 신분증 주소는 매사추세츠, 매사추세츠, 02801, 100개의 마켓 스트리트입니다. 눈 필드는 BLK, 섹스 필드는 F, HGT 필드는 4-6"이고, DD 필드는 2019년 3월 12일, REV 필드는 2017년 3월 12일입니다.\]](http://docs.aws.amazon.com/ko_kr/textract/latest/dg/images/textract-id-sample-1.png)


 분석 ID는 다음과 같은 구조에서 정보를 반환합니다.`IdentityDocumentFields`. 이것들은`JSON`정규화된 유형 및 유형과 연관된 값의 두 가지 정보를 포함하는 구조체입니다. 이 두 가지 모두 신뢰 점수도 있습니다. 자세한 정보는 [ID 문서 응답 객체](identitydocumentfields.md)을 참조하십시오.

 동기 작업을 사용하여 운전 면허증이나 여권을 분석할 수 있습니다. 이러한 문서를 분석하려면 AnalyzeID 작업을 사용하여 ID 문서를 전달합니다.`AnalyzeID`은 전체 결과 집합을 반환합니다. 자세한 정보는 [Amazon Textract Textract를 사용하여 자격 증명 문서 분석](analyzing-document-identity.md)을 참조하십시오.

**참고**  
 운전 면허증과 같은 일부 신분 증명서에는 양면이 있습니다. 동일한 Analyze ID API 요청 내에서 운전면허증의 전면 및 후면 이미지를 별도의 이미지로 전달할 수 있습니다.

# 입력 문서
<a name="how-it-works-documents"></a>

Amazon Textract 작업에 적합한 입력은 단일 또는 다중 페이지 문서입니다. 일부 예로는 법률 문서, 양식, 신분증 또는 서신이 있습니다. 양식은 사용자가 답변을 제공하라는 질문이나 프롬프트가 있는 문서입니다. 환자 등록 양식, 세금 양식 또는 보험 청구 양식을 예로 들 수 있습니다.

문서는 JPEG, PNG, PDF 또는 TIFF 형식일 수 있습니다. PDF 및 TIFF 형식 파일을 사용하면 여러 페이지로 된 문서를 처리할 수 있습니다. Amazon Textract Textract가 문서를 다음과 같이 표현하는 방법에 대한 자세한 내용은`Block`객체, 참조[텍스트 감지 및 문서 분석 응답 객체](how-it-works-document-layout.md).

다음은 허용 가능한 입력 문서 예제입니다.

![\[헤더 고용 신청서가있는 흰색 종이 이미지. 다음 줄에는 응용 프로그램 정보, 다음 전체 이름이 표시됩니다. 제인 디, 다음 전화번호: 555-0100, 다음 집 주소: 123 애니 타운 미국 애니 스트리트, 다음 우편 주소: 위와 동일합니다. 아래에는 이전 고용 기록이라는 제목의 표가 있습니다. 다섯 개의 열과 네 개의 행이 있습니다. 열 제목은 시작 날짜, 종료 날짜, 고용주 이름, 보유 직책 및 퇴직 사유입니다. 다음 행에는 2009년 1월 15일, 2011년 6월 30일, 모든 회사, 어시스턴트 베이커 및 이전이 나열됩니다. 다음 2011년 7월 1일, 2013년 8월 10일, 예시 (주) 베이커, 더 나은 오프 다음 8/15/2013, 현재, AnyCompany, 헤드 베이커, N/A, 현재.\]](http://docs.aws.amazon.com/ko_kr/textract/latest/dg/images/Handwriting%20Sample%203.png)


문서 제한에 대한 자세한 내용은 단원을 참조하십시오.[Amazon Textract TEXTRACT에서의 하드 제한](limits.md).

Amazon Textract 동기 작업의 경우 Amazon S3 버킷에 저장된 입력 문서를 사용하거나 base64로 인코딩된 이미지 바이트를 전달할 수 있습니다. 자세한 정보는 [Amazon Textract 동기 운영 호출](sync-calling.md)을 참조하십시오. 비동기 작업의 경우 Amazon S3 버킷에 입력 문서를 제공해야 합니다. 자세한 정보는 [Amazon Textract 비동기 작업 호출](api-async.md)을 참조하십시오.

# Amazon Textract 응답 객체
<a name="how-it-works-document-response"></a>

Amazon Textract 작업은 실행 작업에 따라 다른 유형의 객체를 반환합니다. 텍스트를 감지하고 일반 문서를 분석하기 위해 작업은 Block 객체를 반환합니다. 송장 또는 영수증을 분석하기 위해 작업은 ExpenseDocuments 객체를 반환합니다. ID 문서를 분석하기 위해 이 작업은 IdentityDocumentFields 객체를 반환합니다. 이러한 응답 객체에 대한 자세한 내용은 다음 단원을 참조하십시오.

**Topics**
+ [텍스트 감지 및 문서 분석 응답 객체](how-it-works-document-layout.md)
+ [송장 및 수금 응답 객체](expensedocuments.md)
+ [ID 문서 응답 객체](identitydocumentfields.md)

# 텍스트 감지 및 문서 분석 응답 객체
<a name="how-it-works-document-layout"></a>

Amazon Textract Textract가 문서를 처리할 때 다음과 같은 목록을 생성합니다.[Block](API_Block.md)탐지되거나 분석된 텍스트의 개체입니다. 각 블록에는 탐지된 아이템, 위치 및 Amazon Textract Textract가 처리의 정확성에 대한 확신에 대한 정보가 포함되어 있습니다.

문서는 다음과 같은 유형으로 구성됩니다.`Block`객체입니다.
+ [페이지](how-it-works-pages.md)
+  [줄 및 텍스트 단어](how-it-works-lines-words.md) 
+  [양식 데이터 (키-값 쌍)](how-it-works-kvp.md) 
+  [표 및 셀](how-it-works-tables.md) 
+ [선택 요소](how-it-works-selectables.md)

블록의 내용은 호출하는 작업에 따라 다릅니다. 텍스트 감지 작업 중 하나를 호출하면 검색된 텍스트의 페이지, 줄 및 단어가 반환됩니다. 자세한 정보는 [텍스트 감지](how-it-works-detecting.md)을 참조하십시오. 문서 분석 작업 중 하나를 호출하면 검색된 페이지, 키-값 쌍, 테이블, 선택 요소 및 텍스트에 대한 정보가 반환됩니다. 자세한 정보는 [문서 분석](how-it-works-analyzing.md)을 참조하십시오.

약간`Block`객체 필드는 두 유형의 처리에 공통적입니다. 예를 들어, 각 블록에는 고유한 식별자가 있습니다.

사용 방법을 보여주는 예제의 경우`Block`객체, 참조[자습서](examples-blocks.md).

## 문서 레이아웃
<a name="hows-it-works-blocks-types.title"></a>

Amazon Textract Textract는 문서의 표현을 여러 유형의 목록으로 반환합니다.`Block`상위-하위 관계 또는 키-값 쌍으로 연결된 객체입니다. 문서의 페이지 수를 제공하는 메타데이터도 반환됩니다. 다음은 전형적인 JSON 입니다.`Block`형식의 객체`PAGE`.

```
{
    "Blocks": [
        {
            "Geometry": {
                "BoundingBox": {
                    "Width": 1.0, 
                    "Top": 0.0, 
                    "Left": 0.0, 
                    "Height": 1.0
                }, 
                "Polygon": [
                    {
                        "Y": 0.0, 
                        "X": 0.0
                    }, 
                    {
                        "Y": 0.0, 
                        "X": 1.0
                    }, 
                    {
                        "Y": 1.0, 
                        "X": 1.0
                    }, 
                    {
                        "Y": 1.0, 
                        "X": 0.0
                    }
                ]
            }, 
            "Relationships": [
                {
                    "Type": "CHILD", 
                    "Ids": [
                        "2602b0a6-20e3-4e6e-9e46-3be57fd0844b", 
                        "82aedd57-187f-43dd-9eb1-4f312ca30042", 
                        "52be1777-53f7-42f6-a7cf-6d09bdc15a30", 
                        "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"
                    ]
                }
            ], 
            "BlockType": "PAGE", 
            "Id": "8136b2dc-37c1-4300-a9da-6ed8b276ea97"
        }..... 
        
    ], 
    "DocumentMetadata": {
        "Pages": 1
    }
}
```

문서가 하나 이상에서 작성됩니다.`PAGE`블록을 지원합니다. 각 페이지에는 페이지에서 감지된 기본 항목 (예: 텍스트 및 표 줄) 에 대한 하위 블록 목록이 포함되어 있습니다. 자세한 정보는 [페이지](how-it-works-pages.md)을 참조하십시오.

의 유형을 결정할 수 있습니다.`Block`객체를 검사하여`BlockType`필드.

A`Block`객체가 관련 목록을 포함하고 있습니다.`Block`의 객체`Relationships`필드, 배열입니다.[Relationship](API_Relationship.md)객체입니다. A`Relationships`배열은 CHILD 유형 또는 VALUE 유형입니다. CHILD 유형의 배열은 현재 블록의 하위인 항목을 나열하는 데 사용됩니다. 예를 들어, 현재 블록이 LINE 유형일 경우`Relationships`에는 텍스트 줄을 구성하는 WORD 블록의 ID 목록이 포함되어 있습니다. VALUE 유형의 배열은 키-값 페어를 포함하는 데 사용됩니다. 다음을 검사하여 관계 유형을 확인할 수 있습니다.`Type`의 필드`Relationship`객체입니다.

하위 블록에는 상위 블록 오브젝트에 대한 정보가 없습니다.

다음과 같은 예시`Block`정보는 단원을 참조하십시오.[동기식 작업을 통한 문서 처리](sync.md).

## 신뢰도
<a name="how-it-works-confidence"></a>

Amazon Textract 작업은 감지된 아이템의 정확성에 대해 Amazon Textract Textract가 가진 비율의 신뢰도를 반환합니다. 자신감을 얻으려면`Confidence`의 필드`Block`객체입니다. 값이 높을수록 신뢰도가 높아집니다. 시나리오에 따라 신뢰도가 낮은 탐지는 사람의 시각적 확인이 필요할 수 있습니다.

## Geometry
<a name="how-it-works-geometry"></a>

Amazon Textract 작업은 자격 증명 분석을 제외하고 문서 페이지에서 탐지된 항목의 위치에 대한 위치 정보를 반환합니다. 위치를 가져오려면`Geometry`의 필드`Block`객체입니다. 자세한 내용은 단원을 참조하십시오.[문서 페이지의 항목 위치](text-location.md)

# 페이지
<a name="how-it-works-pages"></a>

문서는 하나 이상의 페이지로 구성됩니다. A[Block](API_Block.md)형식의 객체`PAGE`문서의 각 페이지에 대해 존재합니다. A`PAGE`블록 객체에는 문서 페이지에서 검색된 텍스트 줄, 키-값 쌍 및 테이블의 하위 ID 목록이 포함되어 있습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/textract/latest/dg/images/hieroglyph-pages.png)


a를 위한 JSON`PAGE`block은 다음과 비슷합니다.

```
{

    "Geometry": .... 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "2602b0a6-20e3-4e6e-9e46-3be57fd0844b", // Line - Hello, world.
                "82aedd57-187f-43dd-9eb1-4f312ca30042", // Line - How are you?
                "52be1777-53f7-42f6-a7cf-6d09bdc15a30", 
                "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"   
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "8136b2dc-37c1-4300-a9da-6ed8b276ea97"  // Page identifier
},
```

PDF 형식의 여러 페이지로 된 문서에서 비동기 작업을 사용하는 경우 다음을 검사하여 블록이 있는 페이지를 확인할 수 있습니다.`Page`의 필드`Block`객체입니다. 스캔한 이미지 (JPEG, PNG, PDF 또는 TIFF 형식의 이미지) 는 이미지에 문서 페이지가 두 개 이상인 경우에도 단일 페이지 문서로 간주됩니다. 비동기 작업은 항상 a를 반환합니다.`Page`스캔한 이미지의 값 1입니다.

총 페이지 수가 반환됩니다.`Pages`의 필드`DocumentMetadata`.`DocumentMetadata`각 목록과 함께 반환됩니다.`Block`Amazon Textract 작업에서 반환된 객체입니다.

# 줄 및 텍스트 단어
<a name="how-it-works-lines-words"></a>

Amazon Textract 작업에서 반환된 감지된 텍스트는 다음 목록에 반환됩니다.[Block](API_Block.md)객체입니다. 이러한 개체는 문서 페이지에서 감지되는 텍스트 또는 텍스트 단어를 나타냅니다. 다음 텍스트는 여러 단어로 만들어진 두 줄의 텍스트를 보여 줍니다.

이것은 텍스트입니다.

두 줄로 구분됩니다.

감지된 텍스트는 다음 위치에 반환됩니다.`Text`필드`Block`객체입니다. 이`BlockType`필드는 텍스트가 텍스트 줄 (LINE) 인지 또는 단어 (WORD) 인지 결정합니다. A*단어*는 공백으로 구분되지 않은 하나 이상의 ISO 기본 라틴 스크립트 문자입니다. A*선*는 탭으로 구분된 연속 단어 문자열입니다.

 또한 Amazon Textract Textract는 텍스트를 사용하여 손글씨 또는 인쇄되었는지 여부를 결정합니다.`TextTypes`필드. 이들은 각각 필기 및 인쇄로 반환됩니다.

기타`Block`특성은 ID, 신뢰 및 지오메트리 정보와 같은 모든 블록 유형에 공통적입니다. 자세한 정보는 [텍스트 감지 및 문서 분석 응답 객체](how-it-works-document-layout.md)을 참조하십시오.

줄과 단어만 감지하려면 다음을 사용할 수 있습니다.[DetectDocumentText](API_DetectDocumentText.md)또는[StartDocumentTextDetection](API_StartDocumentTextDetection.md). 자세한 정보는 [텍스트 감지](how-it-works-detecting.md)을 참조하십시오. 감지된 텍스트 (선 및 단어) 와 문서의 다른 부분 (예: 표) 과 관련되는 방법에 대한 정보를 얻으려면 다음을 사용할 수 있습니다.[AnalyzeDocument](API_AnalyzeDocument.md)또는[StartDocumentAnalysis](API_StartDocumentAnalysis.md). 자세한 정보는 [문서 분석](how-it-works-analyzing.md)을 참조하십시오.

`PAGE`,`LINE`, 및`WORD`블록은 상위-하위 관계에서 서로 관련되어 있습니다. A`PAGE`블록은 모두의 상위입니다.`LINE`문서 페이지에서 객체를 차단합니다. LINE에는 하나 이상의 단어가 있을 수 있습니다.`Relationships`LINE 블록에 대한 배열은 텍스트 행을 구성하는 하위 WORD 블록의 ID를 저장합니다.

다음 다이어그램은 라인을 보여 줍니다.*Hello world.*텍스트에서*Hello world.* *어떻게 지내세요?*는 다음과 같이 표시됩니다.`Block`객체입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/textract/latest/dg/images/hieroglyph-text-detection.png)




다음은 의 JSON 출력입니다.`DetectDocumentText`때 문장*Hello world.* *어떻게 지내세요?*가 감지됩니다. 첫 번째 예제는 문서 페이지의 JSON입니다. 하위 ID를 사용하여 문서를 탐색할 수 있는 방법에 유의하십시오.

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "d7fbd604-d609-4d69-857d-247a3f591238", // Line - Hello, world.
                "b6c19a93-6493-4d8e-958f-853c8f7ca055" //  Line - How are you?
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "56ec1d77-171f-4881-9852-2b5b7e761608"
},
```

다음은 “Hello, World”라는 줄을 구성하는 LINE 블록에 대한 JSON입니다.

```
{
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "7f97e2ca-063e-47a8-981c-8beee31afc01", // Word - Hello,
                "4b990aa0-af96-4369-b90f-dbe02538ed21"  // Word - world.
            ]
        }
    ], 
    "Confidence": 99.63229370117188, 
    "Geometry": {...}, 
    "Text": "Hello, world.", 
    "BlockType": "LINE", 
    "Id": "d7fbd604-d609-4d69-857d-247a3f591238"
},
```

다음은 단어의 WORD 블록에 대한 JSON입니다.*안녕하세요.*: 

```
{
    "Geometry": {...}, 
    "Text": "Hello,", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.74746704101562, 
    "Id": "7f97e2ca-063e-47a8-981c-8beee31afc01"
},
```

마지막 JSON은 단어의 WORD 블록입니다.*세계.*:

```
{
    "Geometry": {...}, 
    "Text": "world.",
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.5171127319336, 
    "Id": "4b990aa0-af96-4369-b90f-dbe02538ed21"
},
```

# 양식 데이터 (키-값 쌍)
<a name="how-it-works-kvp"></a>

Amazon Textract Textract는 문서에서 양식 데이터를 키-값 페어로 추출할 수 있습니다. 예를 들어 다음 텍스트에서 Amazon Textract Textract가 키를 식별할 수 있습니다.*이름:*) 및 값 (*아나 캐롤라이나*).

이름: 아나 캐롤라이나

감지된 키-값 페어는[Block](API_Block.md)응답의 객체[AnalyzeDocument](API_AnalyzeDocument.md)과[GetDocumentAnalysis](API_GetDocumentAnalysis.md). 이`FeatureTypes`키-값 쌍, 테이블 또는 둘 다에 대한 정보를 검색하는 입력 매개 변수입니다. 키-값 쌍에만 해당 값을 사용하십시오.`FORMS`. 문제 해결 예는 [양식 문서에서 키-값 쌍 추출](examples-extract-kvp.md)을(를) 참조하십시오. 문서를 표현하는 방법에 대한 일반 정보`Block`객체, 참조[텍스트 감지 및 문서 분석 응답 객체](how-it-works-document-layout.md).

KEY\$1VALUE\$1SET 유형을 가진 블록 객체는 문서에서 탐지된 링크된 텍스트 항목에 대한 정보를 저장하는 KEY 또는 VALUE 블록 객체의 컨테이너입니다. 이`EntityType`블록이 KEY인지 VALUE인지 여부를 결정하는 속성입니다.
+ A*키*object는 링크된 텍스트의 키에 대한 정보를 포함합니다. 예,*이름:*. KEY 블록에는 두 개의 관계 목록이 있습니다. VALUE 유형의 관계는 키와 연관된 VALUE 블록의 ID를 포함하는 목록입니다. CHILD 유형의 관계는 키의 텍스트를 구성하는 WORD 블록의 ID 목록입니다.
+ A*값*객체에는 키와 연결된 텍스트에 대한 정보가 들어 있습니다. 이전 예제에서*아나 캐롤라이나*키의 값입니다.*이름:*. VALUE 블록은 WORD 블록을 식별하는 자식 블록 목록과 관계가 있습니다. 각 WORD 블록에는 값의 텍스트를 구성하는 단어 중 하나가 포함되어 있습니다. A`VALUE`객체에는 선택한 요소에 대한 정보도 포함될 수 있습니다. 자세한 정보는 [선택 요소](how-it-works-selectables.md)을 참조하십시오.

KEY\$1VALUE\$1SET의 각 인스턴스`Block`객체는 PAGE의 하위입니다.`Block`현재 페이지에 해당하는 객체입니다.

다음 다이어그램은 키-값 페어의 방식을 보여 줍니다.*이름: 아나 캐롤라이나*는 다음과 같이 표시됩니다.`Block`객체입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/textract/latest/dg/images/hieroglyph-key-value-set.png)


다음 예제에서는 키-값 페어의 방식을 보여 줍니다.*이름: 아나 캐롤라이나*는 JSON으로 표시됩니다.

PAGE 블록에는 유형의 하위 블록이 있습니다.`KEY_VALUE_SET`문서에서 감지된 각 KEY 및 VALUE 블록에 대해 

```
{
    "Geometry": .... 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "2602b0a6-20e3-4e6e-9e46-3be57fd0844b", 
                "82aedd57-187f-43dd-9eb1-4f312ca30042", 
                "52be1777-53f7-42f6-a7cf-6d09bdc15a30", // Key - Name:
                "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"  // Value - Ana Caroline 
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "8136b2dc-37c1-4300-a9da-6ed8b276ea97"  // Page identifier
},
```

다음 JSON은 키 블록 (52베1777-53f7-42f6-A7cF-6d09BDC15A30) 이 밸류 블록 (7ca6-00ef-4CDA-바1AA-5571dfed1a7c) 과의 관계가 있음을 보여줍니다. 또한 키에 대한 텍스트가 포함 된 워드 블록 (c734fca6-c4c4-415c-b6c1-30f7510b72ee) 에 대한 자식 블록이 있습니다.*이름:*).

```
{
    "Relationships": [
        {
            "Type": "VALUE", 
            "Ids": [
                "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c"  // Value identifier
            ]
        }, 
        {
            "Type": "CHILD", 
            "Ids": [
                "c734fca6-c4c4-415c-b6c1-30f7510b72ee"  // Name:
            ]
        }
    ], 
    "Confidence": 51.55965805053711, 
    "Geometry": ...., 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "KEY"
    ], 
    "Id": "52be1777-53f7-42f6-a7cf-6d09bdc15a30"  //Key identifier
},
```

다음 JSON은 값 블록 7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c가 값의 텍스트를 구성하는 WORD 블록에 대한 ID의 자식 목록을 가지고 있음을 보여줍니다.*애나*과*캐롤라이나*).

```
{
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "db553509-64ef-4ecf-ad3c-bea62cc1cd8a", // Ana
                "e5d7646c-eaa2-413a-95ad-f4ae19f53ef3"  // Carolina
            ]
        }
    ], 
    "Confidence": 51.55965805053711, 
    "Geometry": ...., 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "VALUE"
    ], 
    "Id": "7ca7caa6-00ef-4cda-b1aa-5571dfed1a7c" // Value identifier
}
```

다음 JSON은`Block`단어를 위한 객체*이름:*,*애나*, 및*캐롤라이나*.

```
{
    "Geometry": {...}, 
    "Text": "Name:", 
    "TextType": "PRINTED".
    "BlockType": "WORD", 
    "Confidence": 99.56285858154297, 
    "Id": "c734fca6-c4c4-415c-b6c1-30f7510b72ee"
},
 {
    "Geometry": {...}, 
    "Text": "Ana", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.52057647705078, 
    "Id": "db553509-64ef-4ecf-ad3c-bea62cc1cd8a"
}, 
{
    "Geometry": {...}, 
    "Text": "Carolina", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.84207916259766, 
    "Id": "e5d7646c-eaa2-413a-95ad-f4ae19f53ef3"
},
```

# 테이블
<a name="how-it-works-tables"></a>

Amazon Textract Textract는 테이블의 테이블과 셀을 추출할 수 있습니다. 예를 들어 양식에서 다음 표가 감지되면 Amazon Textract Textract는 네 개의 셀이 있는 테이블을 감지합니다.


| 이름 | Address | 
| --- | --- | 
|  아나 캐롤라이나  |  123 Any Stown  | 

감지된 테이블은 다음과 같이 반환됩니다[Block](API_Block.md)응답의 객체[AnalyzeDocument](API_AnalyzeDocument.md)과[GetDocumentAnalysis](API_GetDocumentAnalysis.md). 이`FeatureTypes`키-값 쌍, 테이블 또는 둘 다에 대한 정보를 검색하는 입력 매개 변수입니다. 테이블에만 해당 값을 사용하십시오.`TABLES`. 문제 해결 예는 [테이블을 CSV 파일로 내보내기](examples-export-table-csv.md)을(를) 참조하십시오. 문서를 표현하는 방법에 대한 일반 정보`Block`객체, 참조[텍스트 감지 및 문서 분석 응답 객체](how-it-works-document-layout.md).

다음 다이어그램은 테이블의 단일 셀이 어떻게 표현되는지 보여줍니다.`Block`객체입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/textract/latest/dg/images/hieroglyph-table-cell.png)


셀에는 다음이 포함됩니다.`WORD`탐지된 단어에 대한 블록`SELECTION_ELEMENT`확인란과 같은 선택 요소에 대한 블록입니다.

다음은 네 개의 셀이 있는 위 테이블의 부분 JSON입니다.

PAGE Block 객체에는 TABLE 블록에 대한 자식 블록 ID 목록과 감지된 각 텍스트 라인이 있습니다.

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "f2a4ad7b-f21d-4966-b548-c859b84f66a4",   // Line - Name
                "4dce3516-ffeb-45e0-92a2-60770e9cb744",   // Line  - Address 
                "ee506578-768f-4696-8f4b-e4917e429f50",   // Line - Ana Carolina
                "33fc7223-411b-4399-8a90-ccd3c5a2c196",   // Line  - 123 Any Town
                "3f9665be-379d-4ae7-be44-d02f32b049c2"    // Table
            ]
        }
    ], 
    "BlockType": "PAGE", 
    "Id": "78c3ce84-ae70-418e-add7-27058418adf6"
},
```

TABLE 블록에는 테이블 내의 셀에 대한 하위 ID 목록이 포함되어 있습니다. TABLE 블록에는 문서의 테이블 위치에 대한 형상 정보도 포함됩니다. 다음 JSON은 테이블에 네 개의 셀이 있음을 보여 줍니다.`Ids`어레이.

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "505e9581-0d1c-42fb-a214-6ff736822e8c", 
                "6fca44d4-d3d3-46ab-b22f-7fca1fbaaf02", 
                "9778bd78-f3fe-4ae1-9b78-e6d29b89e5e9", 
                "55404b05-ae12-4159-9003-92b7c129532e"
            ]
        }
    ], 
    "BlockType": "TABLE", 
    "Confidence": 92.5705337524414, 
    "Id": "3f9665be-379d-4ae7-be44-d02f32b049c2"
},
```

테이블 셀의 블록 유형은 CELL입니다. 이`Block`각 셀의 객체에는 테이블의 다른 셀과 비교하여 셀 위치에 대한 정보가 포함됩니다. 또한 문서에서 셀 위치에 대한 형상 정보도 포함됩니다. 이전 예제에서`505e9581-0d1c-42fb-a214-6ff736822e8c`는 단어가 포함된 셀의 하위 ID입니다.*이름*. 다음 예제는 셀에 대한 정보입니다.

```
{
    "Geometry": {...}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "e9108c8e-0167-4482-989e-8b6cd3c3653e"
            ]
        }
    ], 
    "Confidence": 100.0, 
    "RowSpan": 1, 
    "RowIndex": 1, 
    "ColumnIndex": 1, 
    "ColumnSpan": 1, 
    "BlockType": "CELL", 
    "Id": "505e9581-0d1c-42fb-a214-6ff736822e8c"
},
```

각 셀은 테이블의 위치를 가지며 첫 번째 셀은 1,1입니다. 이전 예제에서 값이 있는 셀입니다.*이름*는 1행, 열 1에 있습니다. 값이 있는 셀*123 Any Stown*은 2행, 2열에 있습니다. 셀 블록 객체에는 이 정보가`RowIndex`과`ColumnIndex`필드. 하위 목록에는 셀 내에 있는 텍스트가 포함된 WORD Block 개체의 ID가 포함되어 있습니다. 목록의 단어는 셀의 왼쪽 상단에서 셀의 오른쪽 하단까지 검색된 순서대로 표시됩니다. 위의 예에서 셀에는 값 e9108c8e-0167-4482-989e-8b6CD3c3653e인 하위 ID가 있습니다. 다음 출력은 ID 값이 e9108c8e-0167-4482-989e-8b6CD3c3653e인 워드 블록에 대한 출력입니다.

```
"Geometry": {...}, 
"Text": "Name", 
"TextType": "Printed",
"BlockType": "WORD",
"Confidence": 99.81139373779297, 
"Id": "e9108c8e-0167-4482-989e-8b6cd3c3653e"
},
```

# 선택 요소
<a name="how-it-works-selectables"></a>

Amazon Textract Textract는 문서 페이지의 옵션 버튼 (라디오 버튼) 및 확인란과 같은 선택 요소를 감지할 수 있습니다. 선택 요소는 다음에서 감지할 수 있습니다.[양식 데이터](how-it-works-kvp.md)그리고[테이블](how-it-works-tables.md). 예를 들어 양식에서 다음 표가 검색되면 Amazon Textract Textract는 표 셀의 확인란을 감지합니다.


|  |  |  |  | 
| --- |--- |--- |--- |
|     |  **동의**  |  **보통**  |  **동의하지 않음**  | 
|  **서비스**  |  ☑  |  ☐  |  ☐  | 
|  **사용이 간편합니다.**  |  ☐  |  ☑  |  ☐  | 
|  **공정 요금**  |  ☑  |  ☐  |  ☐  | 

감지된 선택 요소는 다음과 같이 반환됩니다.[Block](API_Block.md)응답의 객체[AnalyzeDocument](API_AnalyzeDocument.md)과[GetDocumentAnalysis](API_GetDocumentAnalysis.md).

**참고**  
이`FeatureTypes`키-값 쌍, 테이블 또는 둘 다에 대한 정보를 검색하는 입력 매개 변수입니다. 예를 들어, 테이블을 필터링하는 경우 응답에는 테이블에서 탐지된 선택 요소가 포함됩니다. 키-값 쌍에서 감지된 선택 요소는 응답에 포함되지 않습니다.

선택 요소에 대한 정보는`Block`형식의 객체`SELECTION_ELEMENT`. 선택 가능한 요소의 상태를 확인하려면`SelectionStatus`의 필드`SELECTION_ELEMENT`블록을 지원합니다. 상태는 다음과 같을 수 있습니다.*이 선택되어 있습니다*또는*NOT\$1선택됨*. 예를 들어, 값은`SelectionStatus`이전 이미지의 경우*이 선택되어 있습니다*.

A`SELECTION_ELEMENT` `Block`객체는 키-값 쌍 또는 테이블 셀과 연결됩니다. A`SELECTION_ELEMENT` `Block`객체에 선택 요소에 대한 경계 상자 정보가 포함되어 있습니다.`Geometry`필드. A`SELECTION_ELEMENT` `Block`개체가`PAGE` `Block`객체입니다.

## 양식 데이터 (키-값 쌍)
<a name="how-it-works-selectable-kvp"></a>

키-값 쌍은 양식에서 감지된 선택 요소를 나타내는 데 사용됩니다. 이`KEY`block에는 선택 요소의 텍스트가 들어 있습니다. 이`VALUE`블록에는 셀렉션\$1요소 블록이 포함되어 있습니다. 다음 다이어그램은 선택 요소를 다음과 같이 표현하는 방식을 보여 줍니다.[Block](API_Block.md)객체입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/textract/latest/dg/images/hieroglyph-key-value-set-selectable.png)


키-값 페어에 대한 자세한 내용은 단원을 참조하십시오.[양식 데이터 (키-값 쌍)](how-it-works-kvp.md).

다음 JSON 스니펫은 선택 요소를 포함하는 키-값 쌍의 키를 보여 줍니다 (**남성 ☑**). 하위 ID (아이디 bd14cfd5-9005-498b-a7f3-45ceb171f0ff) 는 선택 요소의 텍스트를 포함하는 WORD 블록의 ID입니다.*남성*). 값 ID (아이디 24AAAC7F - FC-49C7-A4F0-3688B05586D4) 는`VALUE`다음을 포함하는 블록`SELECTION_ELEMENT`블록 객체입니다.

```
{
    "Relationships": [
        {
            "Type": "VALUE", 
            "Ids": [
                "24aaac7f-fcce-49c7-a4f0-3688b05586d4"  // Value containing Selection Element
            ]
        }, 
        {
            "Type": "CHILD", 
            "Ids": [
                "bd14cfd5-9005-498b-a7f3-45ceb171f0ff"  // WORD - male
            ]
        }
    ], 
    "Confidence": 94.15619659423828, 
    "Geometry": {
        "BoundingBox": {
            "Width": 0.022914813831448555, 
            "Top": 0.08072036504745483, 
            "Left": 0.18966935575008392, 
            "Height": 0.014860388822853565
        }, 
        "Polygon": [
            {
                "Y": 0.08072036504745483, 
                "X": 0.18966935575008392
            }, 
            {
                "Y": 0.08072036504745483, 
                "X": 0.21258416771888733
            }, 
            {
                "Y": 0.09558075666427612, 
                "X": 0.21258416771888733
            }, 
            {
                "Y": 0.09558075666427612, 
                "X": 0.18966935575008392
            }
        ]
    }, 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "KEY"
    ], 
    "Id": "a118dc43-d5f7-49a2-a20a-5f876d9ffd79"
}
```

다음 JSON 스니펫은 해당 단어에 대한 WORD 블록입니다.*남성*. WORD 블록에는 상위 LINE 블록도 있습니다.

```
{
    "Geometry": {
        "BoundingBox": {
            "Width": 0.022464623674750328, 
            "Top": 0.07842985540628433, 
            "Left": 0.18863198161125183, 
            "Height": 0.01617223583161831
        }, 
        "Polygon": [
            {
                "Y": 0.07842985540628433, 
                "X": 0.18863198161125183
            }, 
            {
                "Y": 0.07842985540628433, 
                "X": 0.2110965996980667
            }, 
            {
                "Y": 0.09460209310054779, 
                "X": 0.2110965996980667
            }, 
            {
                "Y": 0.09460209310054779, 
                "X": 0.18863198161125183
            }
        ]
    }, 
    "Text": "Male", 
    "BlockType": "WORD", 
    "Confidence": 54.06439208984375, 
    "Id": "bd14cfd5-9005-498b-a7f3-45ceb171f0ff"
},
```

값 블록에는 셀렉션\$1요소 블록인 자식 (아이디 f2f5e8CD-e73A-4E99-A095-053ACD3b6bfb) 이 있습니다.

```
{
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "f2f5e8cd-e73a-4e99-a095-053acd3b6bfb"  // Selection element
            ]
        }
    ], 
    "Confidence": 94.15619659423828, 
    "Geometry": {
        "BoundingBox": {
            "Width": 0.017281491309404373, 
            "Top": 0.07643391191959381, 
            "Left": 0.2271782010793686, 
            "Height": 0.026274094358086586
        }, 
        "Polygon": [
            {
                "Y": 0.07643391191959381, 
                "X": 0.2271782010793686
            }, 
            {
                "Y": 0.07643391191959381, 
                "X": 0.24445968866348267
            }, 
            {
                "Y": 0.10270800441503525, 
                "X": 0.24445968866348267
            }, 
            {
                "Y": 0.10270800441503525, 
                "X": 0.2271782010793686
            }
        ]
    }, 
    "BlockType": "KEY_VALUE_SET", 
    "EntityTypes": [
        "VALUE"
    ], 
    "Id": "24aaac7f-fcce-49c7-a4f0-3688b05586d4"
}, 
}
```

다음 JSON은 셀렉션\$1엘리먼트 블록입니다. 의 가치`SelectionStatus`확인란이 선택되었음을 나타냅니다.

```
{
    "Geometry": {
        "BoundingBox": {
            "Width": 0.020316146314144135, 
            "Top": 0.07575977593660355, 
            "Left": 0.22590067982673645, 
            "Height": 0.027631107717752457
        }, 
        "Polygon": [
            {
                "Y": 0.07575977593660355, 
                "X": 0.22590067982673645
            }, 
            {
                "Y": 0.07575977593660355, 
                "X": 0.2462168186903
            }, 
            {
                "Y": 0.1033908873796463, 
                "X": 0.2462168186903
            }, 
            {
                "Y": 0.1033908873796463, 
                "X": 0.22590067982673645
            }
        ]
    }, 
    "BlockType": "SELECTION_ELEMENT", 
    "SelectionStatus": "SELECTED", 
    "Confidence": 74.14942932128906, 
    "Id": "f2f5e8cd-e73a-4e99-a095-053acd3b6bfb"
}
```

## 테이블 셀
<a name="how-it-works-selectable-table"></a>

Amazon Textract Textract는 테이블 셀 내에서 선택 요소를 감지할 수 있습니다. 예를 들어 다음 표의 셀에는 확인란이 있습니다.


|  |  |  |  | 
| --- |--- |--- |--- |
|     |  **동의**  |  **보통**  |  **동의하지 않음**  | 
|  **서비스 좋음**  |  ☑  |  ☐  |  ☐  | 
|  **사용이 간편합니다.**  |  ☐  |  ☑  |  ☐  | 
|  **공정 요금**  |  ☑  |  ☐  |  ☐  | 

A`CELL`하위를 포함할 수 있는 블록`SELECTION_ELEMENT`하위 요소뿐만 아니라 선택 요소에 대한 객체`WORD`감지된 텍스트의 블록입니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/textract/latest/dg/images/hieroglyph-table-cell-selectable.png)


테이블에 대한 자세한 내용은 단원을 참조하십시오.[테이블](how-it-works-tables.md).

테이블`Block`이전 테이블의 객체는 이와 비슷합니다.

```
{
    "Geometry": {.....}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "652c09eb-8945-473d-b1be-fa03ac055928", 
                "37efc5cc-946d-42cd-aa04-e68e5ed4741d", 
                "4a44940a-435a-4c5c-8a6a-7fea341fa295", 
                "2de20014-9a3b-4e26-b453-0de755144b1a", 
                "8ed78aeb-5c9a-4980-b669-9e08b28671d2", 
                "1f8e1c68-2c97-47b2-847c-a19619c02ca9", 
                "9927e1d1-6018-4960-ac17-aadb0a94f4d9", 
                "68f0ed8b-a887-42a5-b618-f68b494a6034", 
                "fcba16e0-6bd7-4ea5-b86e-36e8330b68ea", 
                "2250357c-ae34-4ed9-86da-45dac5a5e903", 
                "c63ad40d-5a14-4646-a8df-2d4304213dbc",   // Cell
                "2b8417dc-e65f-4fcd-aa0f-61a23f1e8cb0", 
                "26c62932-72f0-4dc2-9893-1ae27829c060", 
                "27f291cc-abf4-4c23-aa24-676abe99cb1e", 
                "7e5ce028-1bcd-4d9f-ad42-15ac181c5b47", 
                "bf32e3d2-efa2-4fc1-b09b-ab9cc52ff734"
            ]
        }
    ], 
    "BlockType": "TABLE", 
    "Confidence": 99.99993896484375, 
    "Id": "f66eac36-2e74-406e-8032-14d1c14e0b86"
}
```

Cell`BLOCK`확인란이 포함된 셀에 대한 개체 (ID c63ad40d-5A14-4646-A8df-2d4304213dbc)*서비스 좋음*는 다음과 같습니다. 어린이가 포함되어 있습니다.`Block`(아이디 = 26d122fd-C5f4-4B53-92c4-0애92730e1e)`SELECTION_ELEMENT` `Block`확인란의 객체입니다.

```
{
    "Geometry": {.....}, 
    "Relationships": [
        {
            "Type": "CHILD", 
            "Ids": [
                "26d122fd-c5f4-4b53-92c4-0ae92730ee1e"  // Selection Element
            ]
        }
    ], 
    "Confidence": 79.741689682006836, 
    "RowSpan": 1, 
    "RowIndex": 3, 
    "ColumnIndex": 3, 
    "ColumnSpan": 1, 
    "BlockType": "CELL", 
    "Id": "c63ad40d-5a14-4646-a8df-2d4304213dbc"
}
```

더 셀렉션\$1엘리먼트`Block`확인란의 객체는 다음과 같습니다. 의 가치`SelectionStatus`확인란이 선택되었음을 나타냅니다.

```
{
    "Geometry": {.......}, 
    "BlockType": "SELECTION_ELEMENT", 
    "SelectionStatus": "SELECTED", 
    "Confidence": 88.79517364501953, 
    "Id": "26d122fd-c5f4-4b53-92c4-0ae92730ee1e"
}
```

# 송장 및 수금 응답 객체
<a name="expensedocuments"></a>

인보이스 또는 영수증을 AnalyzeFreents API에 제출하면 일련의 ExpenseDocuments 객체를 반환합니다. 각 비용 문서는 다음과 같이 추가로 분리됩니다.`LineItemGroups`과`SummaryFields`. 대부분의 송장 및 영수증에는 공급업체 이름, 영수증 번호, 영수증 날짜 또는 총액과 같은 정보가 포함되어 있습니다. 애널리즈비용에서 이 정보를 반환합니다.`SummaryFields`. 영수증과 송장에는 구매한 품목에 대한 세부 정보도 포함되어 있습니다. 애널리즈경비 API는 이 정보를 아래에 반환합니다.`LineItemGroups`. 이`ExpenseIndex`필드는 비용을 고유하게 식별하고 적절한 비용을 연관시킵니다.`SummaryFields`과`LineItemGroups`해당 비용으로 감지되었습니다.

Analyze비용 응답에서 가장 세분화된 데이터 수준은 다음과 같이 구성됩니다.`Type`,`ValueDetection`, 및`LabelDetection`(선택). 개별 엔티티는 다음과 같습니다.
+ [유형](how-it-works-type.md): 상위 수준에서 감지되는 정보의 종류를 나타냅니다.
+ [라벨 감지](how-it-works-labeldetection.md): 문서 텍스트 내에서 연관된 값의 레이블을 참조합니다.`LabelDetection`은 선택 사항이며 레이블이 쓰여진 경우에만 반환됩니다.
+ [가치 감지](how-it-works-valuedetection.md): 반환되는 레이블 또는 유형의 값을 나타냅니다.

애널리즈비용 API도 감지합니다.`ITEM`,`QUANTITY`, 및`PRICE`라인 항목 내에서 정규화된 필드로 SKU 또는 상세 설명과 같은 영수증 이미지의 라인 항목에 다른 텍스트가 있는 경우 JSON에 다음과 같이 포함됩니다.`EXPENSE_ROW`아래 예제와 같이:

```
               {
                                    "Type": {
                                        "Text": "EXPENSE_ROW",
                                        "Confidence": 99.95216369628906
                                    },
                                    "ValueDetection": {
                                        "Text": "Banana 5 $2.5",
                                        "Geometry": {
                                          …
                                        },
                                        "Confidence": 98.11214447021484
                                    }
```

위의 예에서는 AnalyzeFreent API가 영수증에서 2.5달러에 판매된 5개 바나나에 대한 라인 항목 정보가 포함된 전체 행을 반환하는 방법을 보여줍니다.

# 유형
<a name="how-it-works-type"></a>

다음은 키-값 페어의 표준 또는 정규화된 유형의 예입니다.

```
               {
                    "PageNumber": 1, 
                    "Type": {
                        "Text": "VENDOR_NAME", 
                        "Confidence": 70.0
                    }, 
                    "ValueDetection": {
                        "Geometry": { ... }, 
                        "Text": "AMAZON", 
                        "Confidence": 87.89806365966797
                    }
                }
```

영수증에 “공급업체 이름”이 명시적으로 나열되지 않았습니다. 그러나 비용 분석 API는 문서를 영수증으로 인식하고 “AMAZON” 값을 유형으로 분류했습니다.`VENDOR_NAME`.

# 라벨 감지
<a name="how-it-works-labeldetection"></a>

다음은 고객 문서 페이지에 표시된 텍스트의 예입니다.

```
               {
                    "PageNumber": 1, 
                    "Type": {
                        "Text": "OTHER", 
                        "Confidence": 70.0
                    }, 
                    "LabelDetection": {
                        "Geometry": { ... }, 
                        "Text": "CASHIER", 
                        "Confidence": 88.19171142578125
                    }, 
                    "ValueDetection": {
                        "Geometry": { ... }, 
                        "Text": "Mina", 
                        "Confidence": 87.89806365966797
                    }
                }
```

예제 문서에는 “캐셔 미나”가 포함되어 있습니다. 비용 분석 API는 있는 그대로 값을 추출하고 다음 값을 반환합니다.`LabelDetection`. 영수증에 “키”가 명시적으로 표시되지 않는 “공급업체 이름”과 같은 묵시적 값의 경우`LabelDetection`은 (는) 분석 비용 요소에 포함되지 않습니다. 이 경우 애널리즈경비 API가 반환되지 않습니다.`LabelDetection`.

# 가치 감지
<a name="how-it-works-valuedetection"></a>

다음은 키-값 페어의 “value”를 보여 줍니다.

```
               {
                    "PageNumber": 1, 
                    "Type": {
                        "Text": "OTHER", 
                        "Confidence": 70.0
                    }, 
                    "LabelDetection": {
                        "Geometry": { ... }, 
                        "Text": "CASHIER", 
                        "Confidence": 88.19171142578125
                    }, 
                    "ValueDetection": {
                        "Geometry": { ... }, 
                        "Text": "Mina", 
                        "Confidence": 87.89806365966797
                    }
                }
```

이 예에서 문서에는 “캐셔 미나”가 포함되어 있습니다. 애널리즈경비 API는 계산원 값을 Mina로 감지하여 반환했습니다.`ValueDetection`.

# ID 문서 응답 객체
<a name="identitydocumentfields"></a>

 AnalyzeId API에 ID 문서를 제출하면 일련의 파일이 반환됩니다.`IdentityDocumentField`객체입니다. 이러한 각 객체에는 다음이 포함됩니다.`Type`, 및`Value`.`Type`Amazon Textract Textract가 감지하는 정규화된 필드를 기록합니다.`Value`정규화된 필드와 연관된 텍스트를 기록합니다.

 다음은 의 예입니다.`IdentityDocumentField`간결성을 위해 단축되었습니다.

```
{
    "DocumentMetadata": {
        "Pages": 1
    }, 
    "IdentityDocumentFields": [
        {
            "Type": {
                "Text": "first name"
            }, 
            "ValueDetection": {
                "Text": "jennifer", 
                "Confidence": 99.99908447265625
            }
        }, 
        {
            "Type": {
                "Text": "last name"
            }, 
            "ValueDetection": {
                "Text": "sample", 
                "Confidence": 99.99758911132812
            }
        },
```

 다음은 더 긴 응답에서 잘라낸 Identity문서 필드의 두 가지 예입니다. 감지된 형식과 해당 유형의 값 사이에는 분리되어 있습니다. 여기서는 각각 이름과 성입니다. 이 구조는 포함된 모든 정보와 함께 반복됩니다. 유형이 정규화된 필드로 인식되지 않으면 “기타”로 나열됩니다.

다음은 운전 면허증에 대한 정규화된 필드 목록입니다.
+  이름 
+  성 
+  Middle 
+  접미사 
+  주소 도시 
+  주소에 있는 우편 번호 
+  주소 상태 
+  카운티 
+  문서 번호 
+  만료 날짜 
+  생년월일 
+  상태 이름 
+  발행일 
+  class 
+  제한 사항 
+  보증 
+  ID 유형 
+  재향 군인 
+  address 

다음은 미국 여권에 대한 정규화된 필드 목록입니다.
+  이름 
+  성 
+  Middle 
+  문서 번호 
+  만료 날짜 
+  생년월일 
+ 출생지
+  발행일 
+  ID 유형 

# 문서 페이지의 항목 위치
<a name="text-location"></a>

Amazon Textract 작업은 문서 페이지에 있는 항목의 위치와 형상을 반환합니다.[DetectDocumentText](API_DetectDocumentText.md)과[GetDocumentTextDetection](API_GetDocumentTextDetection.md)선과 단어의 위치 및 지오메트리를 반환하는 동안[AnalyzeDocument](API_AnalyzeDocument.md)과[GetDocumentAnalysis](API_GetDocumentAnalysis.md)키-값 페어, 테이블, 셀 및 선택 요소의 위치 및 형상을 반환합니다.

문서 페이지에서 항목이 있는 위치를 확인하려면 테두리 상자 ([Geometry](API_Geometry.md)) Amazon Textract 작업에서 반환한 정보[Block](API_Block.md)객체입니다. 이`Geometry`object는 탐지된 항목에 대한 두 가지 유형의 위치 및 형상 정보를 포함합니다.
+ 축 정렬[BoundingBox](API_BoundingBox.md)왼쪽 위 좌표와 항목의 너비와 높이가 포함된 객체입니다.
+ 항목의 아웃라인을 설명하는 폴리곤 객체로, 배열로 지정됩니다.[Point](API_Point.md)다음을 포함하는 객체`X`(가로 축) 및`Y`(세로 축) 각 점의 페이지 좌표를 문서화합니다.

a를 위한 JSON`Block`객체는 다음과 비슷합니다. 참고`BoundingBox`과`Polygon`필드.

```
{
    "Geometry": {
        "BoundingBox": {
            "Width": 0.053907789289951324, 
            "Top": 0.08913730084896088, 
            "Left": 0.11085548996925354, 
            "Height": 0.013171200640499592
        }, 
        "Polygon": [
            {
                "Y": 0.08985357731580734, 
                "X": 0.11085548996925354
            }, 
            {
                "Y": 0.08913730084896088, 
                "X": 0.16447919607162476
            }, 
            {
                "Y": 0.10159222036600113, 
                "X": 0.16476328670978546
            }, 
            {
                "Y": 0.10230850428342819, 
                "X": 0.11113958805799484
            }
        ]
    }, 
    "Text": "Name:", 
    "TextType": "PRINTED",
    "BlockType": "WORD", 
    "Confidence": 99.56285858154297, 
    "Id": "c734fca6-c4c4-415c-b6c1-30f7510b72ee"
},
```

형상 정보를 사용하여 탐지된 항목 주위에 경계 상자를 그릴 수 있습니다. 를 사용하는 예제의 경우`BoundingBox`과`Polygon`각 단어의 시작과 끝에 선 및 수직선 주위에 상자를 그리는 정보는[Amazon Textract Textract를 사용하여 문서 텍스트 감지](detecting-document-text.md). 예제 출력은 다음과 비슷합니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/textract/latest/dg/images/janedoe.png)


## Bounding Box
<a name="bounding-box"></a>

경계 상자 (`BoundingBox`) 에는 다음과 같은 속성이 있습니다.
+ 높이 — 전체 문서 페이지 높이에 대한 비율로서 경계 상자의 높이입니다.
+ Left — 전체 문서 페이지 너비에 대한 비율로서 경계 상자의 상단 좌측 포인트에 대한 X 좌표입니다.
+ Top — 전체 문서 페이지 높이에 대한 비율로서 경계 상자의 상단 지점에 대한 Y 좌표입니다.
+ 너비 — 전체 문서 페이지 너비에 대한 비율로서 경계 상자의 너비입니다.

각 BoundingBox 속성은 0\$11 사이의 값을 가집니다. 값은 전체 이미지 너비에 대한 비율입니다.`Left`과`Width`) 또는 높이 (적용`Height`과`Top`). 예를 들어 입력 이미지가 700x200픽셀이고 경계 상자의 상단 좌측 좌표가 (350,50) 픽셀일 경우 API는`Left`값 0.5 (350/700) 및`Top`값은 0.25 (50/200) 입니다.

다음 다이어그램은 각 BoundingBox 속성이 다루는 문서 페이지의 범위를 보여 줍니다.

![\[Diagram showing bounding box properties: Top, Left, Width, and Height within an image.\]](http://docs.aws.amazon.com/ko_kr/textract/latest/dg/images/bounding-box.png)


경계 상자를 올바른 위치 및 크기로 표시하려면, (원하는 값에 따라) BoundingBox 값을 문서 페이지 너비 또는 높이에 곱해 픽셀 값을 구해야 합니다. 이 픽셀 값을 사용하여 경계 상자를 표시합니다. 한 예로 608픽셀 너비 x 588픽셀 높이의 문서 페이지와 분석된 텍스트에 대해 다음 경계 상자 값을 사용하는 것입니다.

```
BoundingBox.Left: 0.3922065
BoundingBox.Top: 0.15567766
BoundingBox.Width: 0.284666
BoundingBox.Height: 0.2930403
```

텍스트 경계 상자의 위치는 다음과 같이 계산됩니다.

`Left coordinate = BoundingBox.Left (0.3922065) * document page width (608) = 238`

`Top coordinate = BoundingBox.Top (0.15567766) * document page height (588) = 91`

`Bounding box width = BoundingBox.Width (0.284666) * document page width (608) = 173`

`Bounding box height = BoundingBox.Height (0.2930403) * document page height (588) = 172`

이러한 값을 사용하여 분석된 텍스트 주위에 경계 상자를 표시합니다. 다음 Java 및 Python 예제에서는 경계 상자를 표시하는 방법을 보여줍니다.

------
#### [ Java ]

```
    public void ShowBoundingBox(int imageHeight, int imageWidth, BoundingBox box, Graphics2D g2d) {

        float left = imageWidth * box.getLeft();
        float top = imageHeight * box.getTop();

        // Display bounding box.
        g2d.setColor(new Color(0, 212, 0));
        g2d.drawRect(Math.round(left / scale), Math.round(top / scale),
                Math.round((imageWidth * box.getWidth()) / scale), Math.round((imageHeight * box.getHeight())) / scale);

    }
```

------
#### [ Python ]

이 파이썬 예제는`response`에서 반환한[DetectDocumentText](API_DetectDocumentText.md)API 연산.

```
def process_text_detection(response):

    # Get the text blocks
    blocks = response['Blocks']
    width, height = image.size
    draw = ImageDraw.Draw(image)
    print('Detected Document Text')

    # Create image showing bounding box/polygon the detected lines/text
    for block in blocks:

        draw = ImageDraw.Draw(image)

        if block['BlockType'] == "LINE":
            box=block['Geometry']['BoundingBox']
            left = width * box['Left']
            top = height * box['Top']
            draw.rectangle([left,top, left + (width * box['Width']), top +(height * box['Height'])],outline='black')

    # Display the image
    image.show()

    return len(blocks)
```

------

## 다각형
<a name="polygon"></a>

에 의해 반환된 폴리곤`AnalyzeDocument`는 다음과 같은 배열입니다.[Point](API_Point.md)객체입니다. Each`Point`에는 문서 페이지의 특정 위치에 대한 X 및 Y 좌표가 있습니다. BoundingBox 좌표와 마찬가지로 다각형 좌표는 문서 너비와 높이로 정규화되고 0에서 1 사이입니다.

폴리곤 배열의 점을 사용하여`Block`객체입니다. 문서 페이지에서 각 다각형 점의 위치를 계산하는 방법은 다음과 같습니다.`BoundingBoxes`. X 좌표에 문서 페이지 너비를 곱하고 Y 좌표에 문서 페이지 높이를 곱합니다.

다음 예제에서는 다각형의 수직선을 표시하는 방법을 보여 줍니다.

```
    public void ShowPolygonVerticals(int imageHeight, int imageWidth, List <Point> points, Graphics2D g2d) {

        g2d.setColor(new Color(0, 212, 0));
        Object[] parry = points.toArray();
        g2d.setStroke(new BasicStroke(2));

        g2d.drawLine(Math.round(((Point) parry[0]).getX() * imageWidth),
                Math.round(((Point) parry[0]).getY() * imageHeight), Math.round(((Point) parry[3]).getX() * imageWidth),
                Math.round(((Point) parry[3]).getY() * imageHeight));

        g2d.setColor(new Color(255, 0, 0));
        g2d.drawLine(Math.round(((Point) parry[1]).getX() * imageWidth),
                Math.round(((Point) parry[1]).getY() * imageHeight), Math.round(((Point) parry[2]).getX() * imageWidth),
                Math.round(((Point) parry[2]).getY() * imageHeight));

    }
```