개인 자료란 (JE)

  서버 커뮤니티

Profile 명이 프로답변러

myoung2 ec5127c15aab46a4862df5f068b3e07f

Profile

커뮤니티 소통 개발하기 프로그래밍

테서렉트로 문자 인식해보기. 광학 문자 인식의 기초

2020.11.24 조회 수 346 추천 수 0

안녕하세요! 오늘은 여러분들께 광학 문자 인식에 대해 알려드리러 왔습니다.


1. 테서렉트 다운로드

광한 문자 인식을 위해 테서렉트를 다운받아야 합니다.

64비트 :

테서렉트 64비트 v5.0.0 

32비트 :  다운로드 페이지


ff05c5a91065e39056b4596498dd72e3.png

여기서 Next를 눌러주세요.

f1fbabeca320135947622a30531bf998.png

Agree 눌러주시고요,

651c91e6bbc61112db39fa3c526c2bc9.png

둘중 하나를 선택하시고 NEXT를 눌러주세요.

f76526a3138d55d68fe769270072807b.png

Additional Language Data를 체크해주세요.

그리고 Next를 누르고,  한번더 누르고, Install을 눌러주세요.


이제 다운이 다 될때까지 기다려주세요.

다운이 다 되면 닫아주세요.


2. 환경변수 설정

테서렉트는 환경변수를 등록해야지 사용할 수 있어요.

f9ec417b85746c72b6256cbbb0f48317.png

곳에 들어오셔서 (윈도우즈 검색창에 환경변수 검색)

환경변수를 눌러줍니다.

bb3311f189a744a3b226c62fb2a3f9b7.png

시스템 변수에서 Path를 찾아주시고 두번클릭해주세요.

529c4020b0b7451e60950a58dfc6ee73.png

새로 만들기를 누르시고,

아까 다운할때 Anyone use this computer로 설치하셨으면, 8427623be523d7a37c438f2ae2db8329.png 이경로로 하시면 되고요,

자신 (유저)로 하셨으면, 8c0f978025447f1eb12cefb284c320c4.png로하시면 됩니다.


이제 CMD창을 켜줍니다. (검색에서 명령프롭포트 혹은 cmd)

0686b6673830bb60d741f9bbc215c102.png

테서렉트라고 쳤을때 이렇게 나오는지 확인해줍니다.


3. 인식해보기


이제 한번 직접 인식을 해봅시다.

저는 

5e4ee773e9b2ba0858b8e97dc8383812.jpg

이 사진으로 해보겠습니다. (출처 : 나무위키)

자신이 원하는 사진이 있는 폴더로 가주세요.


cd <경로>
tesseract <파일명.확장명> stdout -l kor

이렇게 적어봅시다.

77178396257ed19713b2afa51a69fe55.png

이런 결과가 나왔습니다.

생각보다 정확하지만, 영어를 인식하지 못했기에 아쉬움이 남았습니다.

그러니 한번 영어를 인식해봅시다.


tesseract <파일명.확장자> stdout -l kor+eng

# -l은 language(언어)를 뜻함
#kor = korean, eng = english

이렇게 바꿔서 하면, 

2ed19cf54f67bd0be2aeb56dd48e335e.png

이런식으로 영어도 인식하는것을 볼 수 있습니다.

이제 한번 이걸 파일로 내보내 봅시다.

tesseract <파일명.확장명> stdout -l kor+eng > <내보낼 파일명.확장자>

예) tesseract img.jpg stdout -l kor+eng > text.txt

이제 한번 해보겠습니다.

ef27c35c9ae1e11c359dc30696da9240.png

이번에는 다른 글자 없이 이것만 나오고 끝났습니다.

근데 그 경로로 가니, 6416636b5f6529c4e0cf00cfcdd68748.png  라는 문서를 발견했습니다.

791ff00887f9ba459e50ffe19c39c217.png

열어보니 이런식으로 나왔습니다.

성공적입니다.


이번에는 이 파이썬 코드를 한번 인식시켜보겠습니다.

35ca255386c85e72bd876f7fbbde4344.png


21668b3b8b7bf2eb7fe928d5bd9bbf98.png


def ratio(preceding: int, latter: int):
ead a eat estes User ee yas a


Reema a EI (sces eto
def _ init__(self):
super().__init__(‘2t0| O|AHEHLICt.")


fae Cle ke


def smaller(ratio: str):


aa
let arte ye
eerste) bheaar
ni, n2 = int(pl[o]), int(pl[1])
sn = UC(n1, n2)
Oy aU)
n2 /= sn
nl = F2Int(n1, n2)
ist ear pet) ea pe
eee te)

생각보다 정확하게 나왔습니다.

물론 들여쓰기같은것들은 1도 안되어있었지만...


def나 __init__, int같은게 잘 나온것을 볼 수 있습니다.

import문은 내가 일부로 뺏습니다.


오늘은 테서렉트를 이용해 OCR를 해봤는데 괜찮았나요?

괜찮았길 바라며 그럼 즐코하세요!


4. 번외

참고로 테서렉트는 많은 프로그래밍 언어를 지원합니다. (Java, Python등)




Warning
댓글이 없습니다.

새로운 댓글을 등록해 주세요!

뉴스 및 창작물
/files/thumbnails/520/751/003/262x150.crop.jpg?20240328020349

레드스톤

마인크래프트 노트블록으로 만든 『 Bling‐Bang‐Bang‐Born 』 1

Sonttukk

2024-03-23

1

/files/thumbnails/467/742/003/262x150.crop.jpg?20240311163123

레드스톤

[노트블럭커버] MILGRAM -ミルグラム(밀그램)- / 아마네 「숙청 행진」 제 2심 2

리비온

2024-03-11

0

/files/thumbnails/846/741/003/262x150.crop.jpg?20240310221214

레드스톤

워든 vs 라마 200마리 1

GlassesFilm

2024-03-10

0

/files/thumbnails/542/739/003/262x150.crop.jpg?20240309070457

레드스톤

[고인의 명복을 빕니다][노트블럭]드래곤볼 GT 오프닝 - 점점 마음이 끌려

리비온

2024-03-09

0

/files/thumbnails/326/738/003/262x150.crop.jpg?20240328020414

레드스톤

마인크래프트 노트블록으로 만든 『 Build Our Machine 』

Sonttukk

2024-03-07

0