빅데이터 & 분석/Machine Learning

파이썬(Python) - 머신러닝 프로젝트(1) - OCR 이미지 문자열 추출(Tesseract)

2018. 7. 15. 15:54
목차
  1. Tessaract - 다운로드 및 설치

파이썬 Tesseract - OCR 활용 설명


실무에서 머신러닝을 활용한 프로젝트를 진행하게 되었습니다. 우선 이미지에서 한글 및 영문을 텍스트를

출력 후 -> 데이터 정제 -> 기계학습 -> 데이터 확인 순으로 평범하게 진행할 예정입니다.

그에 맞게 관련된 내용을 블로그에 정리하려고 합니다. 오늘은 첫 번째 시간으로 오픈소스 OCR 제품인

Tesseract를 활용해서 이미지에서 텍스트를 추출하는 내용을 포스팅 합니다.


5회 정도의 포스팅으로 연재를 이어나갈 예정이며, 하단의 예제를 쉽게 따라하실 수 있게 정리하겠습니다.


Tessaract - 다운로드 및 설치

우선 Tessaract 를 자신의 운영체제에 맞는 버전으로 다운로드 합니다. - Tessaract 다운로드

본 설정은 Windows10 (x64)에서 설정했습니다.

제가 설치한 버전은 tesseract-ocr-w64-v4.0.0-beta 입니다.

참고로 Tessaract는 다양한 언어를 지원합니다. (Java, Golang, Ruby, Python 등)



사이트 접속 후 운영체제에 맞게 다운로드 후
설치 해주세요.




실제 설치 완료 확인


설치시에 반드시 본인이 추출하고자 하는
 언어팩 을 같이 설치 해주세요.(상단 이미지 참조)

설치시에 언어팩을 선택해 주시면 좋습니다. (영문은 기본)

만약에 추가로 언어팩을 설치할 경우 - 언어팩 다운로드



설치 완료 후 사용 OS에 맞게 반드시
 환경변수 에 경로를 등록해야 합니다.(윈도우, 맥, 리눅스 등)





최종 설치 완료 확인

설치 완료 후 커맨드라인에서 tesseract 실행 후 기본 내용이 출력되면 정상적으로 설치 된 것 입니다.




Tessaract - 추출 샘플 이미지 준비




영문 샘플 이미지




한글+영문 샘플 이미지





한글 샘플 이미지





Tessaract - OCR 이미지 텍스트 추출 테스트

이미지가 있는 폴더로 이동 후 커맨드 라인에서 우선 추출해 봅니다. 다음 포스팅에서 파이썬을 활용해서 코드상으로 추출 전에 정확하게 OCR 기능이 작동하는지 우선 테스트 해보는 과정입니다.

tesseract 
명령어 실행 후 옵션값 들의 세부 조정을 통해서 이미지내 텍스트 인식률을 높일 수 있으므로, 

많은 테스트가 필요합니다. 


단, 영문일 경우 거의 95% 이상의 정확도있게 추출하는 것을 확인할 수 있습니다.

한글 일 경우에는  preserve_interword_spaces 및 psm  옵션 설정을 통해서 정확도를 높일 수 있습니다.

아래 제가 테스트한(하단 이미지 참조) 명령어는 추출한 내용을 텍스트파일로 저장하는 실행구문입니다.

psm (Page Segmentation modes)에 관한 상세 설명은 여기 를 참조해주세요.

기본 사용 법 :  tesseract -c 옵션 추출할 이미지 stdout -l 언어옵션(kor, eng, kor+eng 등) > 텍스트파일명

예1) :
tesseract -c preserve-interword_spaces=1 kor.png stdout -l kor > kor.txt
예2) : tesseract --psm 모드번호 -c preserve-interword_spaces=1 kor.png stdout -l kor > kor.txt



실제 추출 화면(영문)




실제 추출 화면(한글)




실제 실행 화면(한글+영문)




마무리

오늘은 상단에서 순서대로 설명한대로 이미지에서 텍스트를 추출하는 OCR 라이브러리인 tesseract를 
설치 후 영문, 한글, 한글+영문 이미지에서 텍스트를 추출해 보는 간단한 테스트를 진행했습니다.

기계학습전 이렇게 데이터를 수집 및 정제하는 과정에 대부분의 시간을 할애하게 되는 경우가 많습니다.
이렇게 이미지에서 추출한 텍스트를 토대로 데이터를 수집해서 대용량 데이터처리를 위해 데이터베이스에
저장할 예정입니다.


다음시간에는 파이썬 코드를 활용해서 폴더에 있는 모든 이미지를 한 번에 추출하는 코드를 작성하겠습니다.

그때 오늘 설치한 tesseract를 사용하게 됩니다. 


다음포스팅에서 계속해서 연재를 이어나가도록 하겠습니다. 감사합니다.





저작자표시 동일조건 (새창열림)

'빅데이터 & 분석 > Machine Learning' 카테고리의 다른 글

파이썬(Python) - Scikit Learn 의사결정트리(Decision Tree) 시각화 예제  (8) 2018.12.14
파이썬(Python) - 머신러닝 프로젝트(최종) - 나이브 베이즈 스팸 필터링  (26) 2018.09.23
파이썬(Python) - 머신러닝 프로젝트(4) - mLab 호스팅 활용 MongoDB 연동  (4) 2018.09.09
파이썬(Python) - 머신러닝 프로젝트(3) - 문자열 가공 및 TXT 및 CSV 저장  (9) 2018.07.27
파이썬(Python) - 머신러닝 프로젝트(2) - OCR 이미지 문자열 추출(파이썬)  (12) 2018.07.23
  1. Tessaract - 다운로드 및 설치
'빅데이터 & 분석/Machine Learning' 카테고리의 다른 글
  • 파이썬(Python) - 머신러닝 프로젝트(최종) - 나이브 베이즈 스팸 필터링
  • 파이썬(Python) - 머신러닝 프로젝트(4) - mLab 호스팅 활용 MongoDB 연동
  • 파이썬(Python) - 머신러닝 프로젝트(3) - 문자열 가공 및 TXT 및 CSV 저장
  • 파이썬(Python) - 머신러닝 프로젝트(2) - OCR 이미지 문자열 추출(파이썬)
[좋은사람]
[좋은사람]
좋은사람의 개발 노트 입니다.
[좋은사람]
좋은사람의 개발 노트
[좋은사람]
전체
오늘
어제
  • 전체보기 (189)
    • 언어 (68)
      • Java (12)
      • Python (39)
      • C# (5)
      • PHP (4)
      • Go (8)
    • OS (18)
      • Linux (7)
      • Windows 10 (5)
      • Etc (6)
    • 빅데이터 & 분석 (8)
      • R (0)
      • Machine Learning (8)
    • 네트워크 (4)
      • Etc (4)
    • 웹 프론트 (25)
      • Javascript & ECMA (8)
      • Vue (13)
      • React (4)
    • 웹 백엔드 (15)
      • Spring (3)
      • Django & Flask (7)
      • Npm & Express (5)
    • 개발도구 (18)
      • Jetbrains (3)
      • Eclipse (5)
      • Git (4)
      • Atom & VScode (6)
    • 데이터베이스 (7)
      • Oracle (2)
      • MariaDB & MySQL (2)
      • Etc (3)
    • 모바일 (6)
      • Android (3)
      • Hybrid (3)
    • 라이프 (20)
      • 여행 & 일상 (6)
      • 취미 (14)

블로그 메뉴

  • 홈으로
  • 블로그소개
  • 태그
  • 방명록

공지사항

인기 글

태그

  • python
  • javascript
  • Linux
  • CFW
  • ubuntu
  • 디자인패턴
  • Git
  • vue.js
  • 3DS
  • ps4
  • 아톰 에디터
  • 머신러닝
  • npm
  • 이클립스
  • SpringSTS
  • Anaconda
  • windows10
  • 윈도우10
  • Thread
  • 2DS
  • flask
  • 인텔리j
  • centos
  • Django
  • Algorithm
  • php
  • 코딩 면접
  • 리액트
  • Eclipse
  • 미뮤
  • C#
  • OCR
  • nodejs
  • Java
  • go
  • ATOM
  • Database
  • 커펌
  • react
  • 개발자 면접

최근 댓글

최근 글

hELLO · Designed By 정상우.
[좋은사람]
파이썬(Python) - 머신러닝 프로젝트(1) - OCR 이미지 문자열 추출(Tesseract)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.