본문 바로가기
직장생활/스킬업>> 엑셀,구글시트

구글시트에서도 가능한 이미지에서 텍스트 추출하기

by 슬기로운 민지 2024. 12. 24.
반응형

이미지에서 텍스트 추출하는 방법: OCR 기술 활용 가이드

이미지에서 텍스트를 추출하는 작업은 디지털 문서화나 데이터 처리에서 매우 유용한 기술입니다. OCR(Optical Character Recognition, 광학 문자 인식) 기술을 활용하면 사진이나 스캔된 문서의 텍스트를 자동으로 인식하고 편집 가능한 텍스트로 변환할 수 있습니다. 이번 글에서는 Google Cloud Vision API를 사용하여 이미지에서 텍스트를 추출하는 방법을 단계별로 설명하겠습니다.


1. OCR 기술이란?

OCR은 이미지에서 텍스트를 인식하고 이를 디지털 데이터로 변환하는 기술입니다. 문서 스캔, 주민등록증 정보 추출, 명함 관리, 설문 조사 데이터 입력 등 다양한 활용 사례가 있습니다. OCR 기술은 다음과 같은 장점을 제공합니다:

  • 시간 절약: 수동으로 데이터를 입력하는 데 걸리는 시간을 줄여줍니다.
  • 정확성 향상: 사람이 입력할 때 발생할 수 있는 오류를 줄여줍니다.
  • 데이터 자동화: 텍스트 데이터 추출을 자동화하여 생산성을 높입니다.

2. Google Cloud Vision API란?

Google Cloud Vision API는 강력한 이미지 분석 기능을 제공하는 Google Cloud Platform 서비스입니다. 텍스트 인식뿐 아니라 객체 탐지, 얼굴 인식, 이미지 분류 등 다양한 기능을 제공합니다. 이 글에서는 Vision API의 TEXT_DETECTION 기능을 사용하여 이미지에서 텍스트를 추출하는 방법을 다룹니다.


3. 준비사항

  1. Google Cloud Platform 계정: Google Cloud Vision API를 사용하려면 Google Cloud 계정이 필요합니다.
  2. Google Cloud 프로젝트 생성 및 Vision API 활성화:
    • Google Cloud Console에서 새 프로젝트를 생성합니다.
    • API 및 서비스 메뉴에서 Vision API를 활성화합니다.
  3. 서비스 계정 키 다운로드:
    • 서비스 계정을 생성하고 JSON 형식의 키 파일을 다운로드합니다.
  4. Google Apps Script 또는 Python 개발 환경: 스크립트를 실행할 환경이 필요합니다.

4. Google Cloud Vision API를 사용한 이미지 텍스트 추출

(1) Python을 활용한 텍스트 추출 예제

아래는 Python을 사용하여 이미지에서 텍스트를 추출하는 간단한 예제입니다.

from google.cloud import vision
import io

# Vision API 클라이언트 생성
client = vision.ImageAnnotatorClient()

def detect_text(image_path):
    # 이미지 파일 읽기
    with io.open(image_path, 'rb') as image_file:
        content = image_file.read()

    image = vision.Image(content=content)

    # 텍스트 감지 요청
    response = client.text_detection(image=image)
    texts = response.text_annotations

    print('Detected text:')
    for text in texts:
        print(f'"{text.description}"')

    if response.error.message:
        raise Exception(
            f'API Error: {response.error.message}')

# 이미지 경로 지정
detect_text('path_to_your_image.jpg')

(2) Google Apps Script를 활용한 구글 시트 연동

Google Apps Script를 사용하면 Google Drive에 저장된 이미지를 처리하여 Google Sheets에 텍스트 데이터를 자동으로 입력할 수 있습니다.

function extractTextFromImage() {
  const imageUrl = "YOUR_IMAGE_URL"; // 이미지 URL
  const apiKey = "YOUR_API_KEY"; // Vision API 키

  const visionUrl = `https://vision.googleapis.com/v1/images:annotate?key=${apiKey}`;
  const payload = {
    requests: [
      {
        image: {
          source: {
            imageUri: imageUrl
          }
        },
        features: [
          {
            type: "TEXT_DETECTION"
          }
        ]
      }
    ]
  };

  const options = {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify(payload)
  };

  const response = UrlFetchApp.fetch(visionUrl, options);
  const json = JSON.parse(response.getContentText());

  const text = json.responses[0]?.fullTextAnnotation?.text || "No text found";
  Logger.log(text);
}

5. 활용 사례

  1. 스캔된 문서 디지털화: 계약서, 영수증, 청구서를 스캔 후 텍스트로 변환.
  2. 명함 관리: 명함의 연락처 정보를 데이터베이스로 정리.
  3. 이미지 데이터 분석: 이미지에서 제품 정보, 가격, 태그 등을 추출.

6. 주의사항

  1. 이미지 품질: 텍스트 추출 정확도는 이미지의 해상도와 텍스트의 가독성에 따라 달라집니다.
  2. 보안: 민감한 데이터(예: 주민등록증)를 다룰 때는 HTTPS를 사용하고 API 키를 안전하게 관리해야 합니다.
  3. API 요금제: Vision API는 무료 할당량을 제공하지만, 대량 처리 시 추가 비용이 발생할 수 있습니다.

 

이미지에서 텍스트를 추출하는 OCR 기술은 현대 데이터 처리와 디지털화 과정에서 필수적인 도구로 자리 잡고 있습니다. Google Cloud Vision API를 사용하면 손쉽게 고품질의 텍스트 인식을 구현할 수 있으며, 다양한 플랫폼과 연동하여 작업을 자동화할 수 있습니다. 지금 바로 OCR 기술을 도입해 업무 효율을 높일 수 있습니다. 다음번엔 
구글드라이브에 있는 이미지의 정보를 구글시트로 가져오는 방법을 공유하겠습니다! ^^

반응형