AWS Textract로 텍스트 추출(Python3.6)
9695 단어 파이썬OpenCVComputerVisionOCRAWS
소개
AWS Textract에서 이미지에서 텍스트 추출을 시도했습니다.
개발 환경
소개
1. awscli 설치
Windows에서 AWS CLI 버전 2 설치, 업데이트 및 제거를 참조하여 AWSCLIV2.msi를 설치합니다.
2. AWS 콘솔에서 IAM에서 액세스 키 생성
3. 명령 프롬프트에서 awscli를 설정합니다.
액세스 키 생성 시 획득한 Access Key와 Secret Access Key를 입력합니다.
기본 지역 이름은 Textract를 사용할 수 있는 ap-south-1(아시아 태평양 뭄바이)을 지정합니다.
출력 형식은 json입니다.
$ aws configure
AWS Access Key ID [None]: XXXX
AWS Secret Access Key [None]: XXXX
Default region name [None]: ap-south-1
Default output format [None]: json
$ aws configure
AWS Access Key ID [None]: XXXX
AWS Secret Access Key [None]: XXXX
Default region name [None]: ap-south-1
Default output format [None]: json
3. IAM 액세스 권한 추가에서 정책 AmazonTextractFullAccess를 추가합니다.
4. anaconda prompt를 열고 Python 3.6 환경을 만듭니다.
$ conda create -n py36 python=3.6
$ conda activate py36
5. 라이브러리 설치
$ pip install boto3
$ pip install opencv-python
6. 아래 코드를 실행해 봅시다.
import boto3
import cv2
import os.path
def process_text_analysis(image):
client = boto3.client('textract')
image_data = cv2.imencode(".png", image)[1].tostring()
response = client.analyze_document(Document={'Bytes': image_data}, FeatureTypes=["TABLES", "FORMS"])
blocks = response['Blocks']
return blocks
def draw_blocks(image, blocks):
height, width = image.shape[:2]
draw = image.copy()
for block in blocks:
if block['BlockType'] == "WORD":
vertices = [(int(width * block['Geometry']['Polygon'][i]['X']), int(height * block['Geometry']['Polygon'][i]['Y'])) for i in range(len(block['Geometry']['Polygon']))]
cv2.putText(draw, block['Text'], vertices[0], cv2.FONT_HERSHEY_PLAIN, 1, (255, 255, 255), 1, cv2.LINE_AA)
cv2.rectangle(draw, vertices[0], vertices[2], (0, 255, 0))
return draw
filename = "338px-Atomist_quote_from_Democritus.png"
image = cv2.imread(filename, cv2.IMREAD_COLOR)
blocks = process_text_analysis(image)
print("Blocks detected: " + str(len(blocks)))
draw = draw_blocks(image, blocks)
cv2.imshow("draw", draw)
cv2.waitKey(0)
입력
output
수고하셨습니다.
Reference
이 문제에 관하여(AWS Textract로 텍스트 추출(Python3.6)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SatoshiGachiFujimoto/items/470925399dd7e0511609텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)