devOmnivore

이미지에서 특정 형식의 숫자 추출 방법 3가지

devOMNIVORE 2024. 12. 7. 08:16
반응형

이미지에서 특정 형식의 숫자 추출 방법 3가지

 

이미지에서 특정 형식의 숫자를 추출하려면 여러 가지 방법을 활용할 수 있습니다. 특히, 데이터 전처리 과정에서 이미지를 텍스트로 변환하여 자연어 처리 모델(Large Language Models, LLM) 학습에 활용하는 경우가 많습니다. 여기서는 이미지에서 숫자를 추출할 수 있는 방법들을 정리하여 소개합니다.

 

각 방법은 사용 목적과 이미지 특성에 따라 선택할 수 있으며, 아래에서 자세히 설명하니 참고하세요.


1. OCR(Optical Character Recognition) 도구 사용

OCR은 이미지에서 텍스트를 인식하고 추출하는 기술입니다. OCR 도구를 사용하면, 이미지에 포함된 숫자를 손쉽게 추출할 수 있습니다. 대표적인 OCR 도구는 다음과 같습니다.

 

온라인 OCR 도구

  • Google 문서: 이미지를 Google 문서에 삽입하고, 이미지 위에서 마우스 오른쪽 버튼을 클릭하여 '텍스트를 인식' 기능을 사용하면 쉽게 숫자를 추출할 수 있습니다.

🔗구글 문서로 가기

  • Adobe Acrobat: 이미지를 PDF로 변환한 후, '도구' 메뉴에서 '텍스트 인식' 기능을 사용하면 PDF 내에서 숫자를 추출할 수 있습니다.
  • 네이버 클로바 OCR: 이미지를 텍스트로 변환하는 기능을 제공하는 네이버 클로바 OCR은 사용하기 편리합니다.

🔗네이버 클로바 OCR 가기

오프라인 OCR 소프트웨어

  • Tesseract: 오픈 소스 OCR 엔진으로, 다양한 언어와 글꼴을 지원하며 Python 등에서 활용할 수 있습니다.

🔗깃허브에서 다운받기

  • ABBYY FineReader: 상업용 OCR 소프트웨어로, 높은 정확도를 자랑합니다. 복잡한 이미지에서도 우수한 인식률을 보여줍니다.

 

 

PDF Software: Open, Read & Edit PDFs | FineReader PDF

ABBYY's latest AI-based OCR technology powers this PDF editor software. Use tool to convert files (PDF to Excel, PDF to Word, etc.), edit, share, collaborate & more!

pdf.abbyy.com

 

OCR 도구 사용 시 주의할 점:
  • 이미지 품질: 이미지가 선명하고 숫자가 명확하게 보일수록 인식률이 높으나 품질이 안좋으면 사용이 어려울 수 있습니다.
  • 배경: 복잡한 배경이나 숫자와 비슷한 색상의 배경은 인식률을 낮춰 사실상 의미가 없을 수 도 있습니다.
  • 글꼴: 사용된 글꼴이 일반적인 숫자 글꼴과 다르거나, 손글씨체일 경우 정확한 인식이 어려우니 가급적이면 일반화 된 글꼴로 된 것을 사용하는 것이 유리합니다.

2. 프로그래밍을 이용한 추출: 대량 처리와 자동화의 장점

프로그래밍을 이용한 숫자 추출 방법은 대량의 이미지를 빠르고 자동으로 처리하는 유용한데요. Python에서 OpenCV, Pillow, PyTesseract 등의 라이브러리를 사용하면, 특정 패턴에 맞는 숫자를 자동으로 추출할 수 있습니다. 이 방법은 많은 양의 데이터를 효율적으로 처리하고, 필요한 데이터만 정확히 추출할 수 있는 맞춤형 처리가 가능합니다만 사실 막상 사용하면 어려움이 많습니다. 사용하시면 커스텀해야할 부분이 좀 있음을 전 PyTesseract를 사용하면서 느꼈고 이래서 유료 프로그램을 쓰나 싶기도 했습니다...

 

Python을 이용한 방법

  • OpenCV, Pillow, PyTesseract: 이 라이브러리들은 이미지를 처리하고 숫자를 추출하는 데 유용합니다. 특히 PyTesseract는 Tesseract OCR 엔진을 Python에서 사용할 수 있게 해주어, 이미지에서 텍스트를 쉽게 추출할 수 있습니다.

상위 다운 받기를 통해서 PyTesseract를 이용할 수 있으니 참고하세요~

 

🔗OpenCV

 

GitHub - opencv/opencv: Open Source Computer Vision Library

Open Source Computer Vision Library. Contribute to opencv/opencv development by creating an account on GitHub.

github.com

 

🔗Pillow

 

GitHub - python-pillow/Pillow: Python Imaging Library (Fork)

Python Imaging Library (Fork). Contribute to python-pillow/Pillow development by creating an account on GitHub.

github.com

 

MATLAB을 이용한 방법

  • MATLAB도 이미지 처리에 강력한 기능을 제공하므로 숫자 추출에 적합한 도구입니다. MATLAB의 다양한 이미지 처리 기능을 사용하여 숫자를 정확하게 추출할 수 있습니다.


장점
:

  • 자동화: 대량의 데이터를 빠르게 처리할 수 있습니다.
  • 맞춤형 처리: 특정 패턴의 숫자만 추출하거나, 추출된 데이터를 다양한 형식으로 저장하는 등 맞춤형 처리가 가능합니다.

단점:

  • 프로그래밍 지식 필요: 프로그래밍을 잘 모르거나 초기 설정이 어렵다면 시간이 더 걸릴 수 있습니다.
  • 복잡성: 추가적인 이미지 전처리나 조건 설정이 필요할 수 있습니다.

 


3. 수동 입력 방식: 가장 정확하지만 시간이 많이 드는 방법

수동 입력은 이미지를 확대하여 숫자가 나타나는 부분을 정확히 확인한 후, 직접 숫자를 타이핑하는 방식입니다. 이 방법은 가장 직관적이고 정확한 결과를 제공합니다. 그러나 시간이 많이 소요되며, 대량의 데이터를 처리할 때는 비효율적일 수 있습니다. 복잡하거나 해상도가 낮은 이미지에서 숫자를 추출할 때는 이 방법이 특히 유용합니다.

 

장점:

  • 정확성: 눈으로 확인하며 입력하기 때문에 인식 오류가 없습니다.
  • 세밀한 조정: 이미지의 미세한 부분까지 정확히 추출할 수 있습니다.

단점:

  • 시간 소모: 많은 양의 데이터를 수동으로 입력해야 하므로 시간이 많이 소요됩니다.
  • 피로도 증가: 반복 작업이 많아 피로가 누적될 수 있습니다.
반응형