글뽑기 쓰는 법과 정확도 실측

이미지 속 글자를 손으로 옮겨 적는 일은 오래 걸립니다. 이 앱은 브라우저 안에서 글자를 읽어 냅니다. 얼마나 맞는지도 잰 대로 적습니다.

이 앱이 하는 일

이미지나 스크린샷에서 글자를 읽어 텍스트로 바꿉니다. 한국어와 영어를 읽습니다. 손글씨는 대상이 아닙니다.

읽는 엔진은 Tesseract 입니다. 오픈소스이고 이 사이트가 직접 올려 둔 파일로 돌아갑니다.

큰 이미지는 긴 변이 3000px 가 되게 줄여서 읽습니다. 작은 이미지는 키우지 않습니다. 파일은 20MB 까지 받습니다.

쓰는 순서

이미지 고르기를 누르거나, 이미지를 화면에 끌어다 놓거나, 복사해 둔 이미지를 Ctrl+V 로 붙여넣습니다. 스크린샷을 찍어 바로 붙여넣는 방법이 가장 빠릅니다.

이미지를 넣으면 곧바로 읽기가 시작됩니다. 끝나면 글자가 상자에 나오고 상자에서 바로 고칠 수 있습니다.

읽을 글자와 읽는 방식

한국어와 영어가 섞여 있으면 한국어와 영어를 고릅니다. 영어만 있는 이미지는 영어만이 더 잘 맞을 때가 있습니다.

읽는 방식은 자동이 기본입니다. 종이 한 장이나 글 한 덩어리를 찍은 사진은 한 덩어리 글로 바꾸면 나아지는 경우가 있습니다. 바꾸면 같은 이미지를 다시 읽습니다.

결과 쓰기

복사는 상자 안의 글을 그대로 복사합니다. .txt 로 받기는 같은 글을 UTF-8 텍스트 파일로 저장합니다.

카드 만들기는 1080x1350 PNG 한 장을 만듭니다. 읽은 글은 들어가지 않고 글자 수만 들어갑니다.

정확도 실측

아래 숫자는 우리가 만든 표본 이미지 세 장을 이 앱 그대로 읽어서 잰 값입니다. 표본은 한 종류에 한 장씩이라 대략의 감만 줍니다. 보증이 아닙니다.

정확도는 정답과 읽은 글을 공백을 빼고 맞춘 뒤 글자 단위로 얼마나 같은지를 뜻합니다.

측정 결과

인쇄 문서, 자동: 98.1%. 흰 바탕에 또렷한 글자를 합성한 한 장입니다.

메신저 스크린샷, 자동: 81.3%. 색 말풍선이 있는 대화 화면을 합성한 한 장입니다.

종이를 찍은 사진, 한 덩어리 글: 79.2%. 기울기, 그림자, 흐림, 잡음을 넣어 합성한 한 장이고 실제 카메라로 찍은 사진은 아닙니다.

같은 사진을 자동으로 읽으면: 23.4%. 이 표본에서는 한 덩어리 글로 바꾸자 크게 나아졌습니다.

숫자를 읽는 법

실제 사진은 조명과 초점이 제각각이라 이 숫자보다 낮을 수 있습니다. 중요한 글은 읽은 뒤 원본과 대조해 주세요.

같은 방법으로 다시 잰 값이 달라지면 이 표를 고칩니다.

잘 읽히게 찍는 법

글자 크기와 대비가 읽기를 가장 크게 좌우합니다. 아래 순서로 확인하면 대부분 나아집니다.

정면에서 밝게

종이를 비스듬히 찍지 않고 정면에서 찍습니다. 그림자가 글자 위에 지지 않게 합니다.

글자가 작으면 가까이

글자가 화면에서 너무 작으면 가까이 다가가 다시 찍습니다. 스크린샷은 확대하지 말고 원본 그대로 넣습니다.

필요한 부분만

표지나 그림이 섞여 있으면 글만 남기고 잘라서 넣습니다. 한 덩어리 글로 읽으면 더 잘 맞는 경우가 있습니다.

이미지가 처리되는 곳

이미지는 이 브라우저 안에서만 처리됩니다. 서버로 올리지 않고, 읽은 글도 서버로 보내지 않습니다.

읽기 도구와 한국어, 영어 언어 파일은 이 사이트의 파일입니다. 외부 서버에서 받지 않습니다. 한국어와 영어를 같이 읽을 때 처음 약 10MB, 영어만 읽을 때 약 8MB 를 내려받고 브라우저가 보관합니다.

서버가 세는 것은 화면을 열었는지, 이미지를 넣었는지, 읽기가 끝났는지 같은 단계 이름뿐입니다.

쓴 오픈소스

Tesseract.js 와 Tesseract.js Core 와 tessdata_fast 언어 파일을 씁니다. 모두 Apache License 2.0 입니다.

라이선스 전문은 이 사이트의 /ocr/LICENSE-tesseract.js.txt, /ocr/LICENSE-tesseract.js-core.txt, /ocr/LICENSE-tessdata-fast.txt 에 있습니다.