본문으로 건너뛰기
LeedyBox
후원

OCR로 이미지에서 텍스트 추출하는 방법

OCR(광학 문자 인식)은 사진, 스크린샷, 스캔 이미지 속 글자를 복사하고 편집할 수 있는 텍스트로 바꿉니다. 이 가이드에서는 결과에 영향을 주는 요소와 더 깔끔한 텍스트를 얻는 방법을 설명합니다.

OCR의 작동 방식

OCR 엔진은 먼저 글자가 배경에서 도드라지도록 이미지를 흑백으로 변환합니다. 그다음 레이아웃을 분석해 텍스트 블록, 줄, 단어를 찾습니다. 마지막으로 인식 모델이 각 단어가 어떤 문자로 이루어져 있는지 추정합니다.

LeedyBox 도구는 오픈 소스 OCR 엔진인 Tesseract를 Tesseract.js를 통해 사용합니다. 인식 모델은 인쇄된 텍스트로 학습한 신경망이며, 언어마다 별도의 데이터를 씁니다. 엔진은 단어마다 신뢰도 값도 알려 주며, 도구는 이미지별로 그 평균을 보여 줍니다.

언어 선택하기

언어 설정은 엔진에 어떤 문자와 단어를 예상해야 하는지 알려 줍니다. 한국어, 일본어, 러시아어 텍스트를 영어 모델로 읽으면 라틴 문자처럼 생긴 글자로 된 엉뚱한 결과가 나오며, 같은 알파벳을 쓰는 언어끼리도 올바른 모델이 악센트와 자주 쓰는 단어를 더 잘 처리합니다.

한 이미지에 두 언어가 섞여 있다면, 예를 들어 영어 제품명이 들어간 한국어 문서라면 두 언어를 모두 선택하세요. 두 번째 언어는 텍스트에 필요할 때만 추가하세요. 언어를 하나 더할 때마다 인식이 느려지고 엔진이 혼동할 수 있는 문자가 늘어납니다.

이미지 언어 텍스트 배치
한 언어로 된 문서 페이지나 기사 해당 언어 자동
현지 언어와 영어 단어가 섞인 메뉴, 슬라이드, 라벨 현지 언어 + 영어 자동
줄 순서가 뒤섞여 나오는, 잘라 낸 문단 해당 언어 하나의 텍스트 블록
제목, 일련번호, 표지판처럼 한 줄로 된 텍스트 해당 언어 한 줄의 텍스트

화질 팁

  • 해상도: 저해상도 이미지 속 작은 글자가 오류의 가장 흔한 원인입니다. 확대하면 어느 정도 도움이 되며, 그래서 LeedyBox 도구는 작은 이미지를 두 배 크기로 다시 읽을 수 있습니다. 하지만 이미지에 없는 디테일을 되살릴 수는 없습니다. 글자가 아주 크면 오히려 덜 정확하게 읽힐 수도 있습니다.
  • 대비: 무늬 없는 밝은 배경 위의 어두운 글자가 가장 잘 읽힙니다. 흐린 인쇄, 회색 글자, 색이 있는 배경, 그림자는 글자를 구분하기 어렵게 만듭니다. 회색조 변환·대비 높이기 옵션은 흐린 글자에 도움이 될 수 있지만, 깨끗한 이미지는 오히려 나빠질 수도 있으니 결과를 비교하세요.
  • 반듯한 글자: 비스듬히 찍은 책처럼 기울거나 휘거나 원근 때문에 일그러진 글자는 줄이 합쳐지거나 문자가 잘못 인식되는 원인이 됩니다. 글자가 눈에 띄게 기울어 있다면 이미지를 회전하거나 다시 찍으세요.
  • 자르기: 필요한 텍스트만 남도록 이미지를 자르세요. 로고, 사진, 테두리, 옆 단은 문자로 오인될 수 있고 읽는 순서를 흐트러뜨릴 수 있습니다.
  • 압축: JPG를 강하게 압축하면 압축 흔적 때문에 글자가 뭉개집니다. 가능하면 스크린샷은 PNG로 저장하세요. JPG, PNG, WebP, AVIF 비교를 참고하세요.

스크린샷과 사진

스크린샷은 선명하고 반듯해서 대개 결과가 좋습니다. 주된 약점은 크기입니다. 인터페이스 글자는 높이가 몇 픽셀밖에 되지 않는 경우가 많습니다. 스크린샷을 찍기 전에 페이지나 앱을 확대하고, 찍은 뒤에는 스크린샷을 축소하지 마세요. 스크린샷은 Ctrl+V(Mac에서는 ⌘+V)로 도구에 바로 붙여 넣을 수 있습니다.

사진에는 고르지 않은 조명, 빛 반사, 흔들림, 원근, 휘어진 페이지 같은 문제가 더해집니다. 카메라를 페이지와 평행하게 들고, 텍스트가 화면을 채우게 하고, 플래시 반사 없이 고른 조명을 사용하고, 화면을 탭해 초점을 맞추세요. 카메라가 기록한 방향 정보는 읽기 전에 적용되므로, 휴대폰을 옆으로 들고 찍은 사진도 바른 방향으로 읽힙니다.

PDF 파일은 페이지를 이미지로 변환하지 말고 PDF 텍스트 추출을 사용하세요. 이 도구는 기존 텍스트 레이어를 읽고, 텍스트 레이어가 없는 페이지에만 OCR을 실행합니다. 스캔한 PDF는 PDF에서 텍스트 추출하기: 텍스트 레이어와 OCR 가이드에서 다룹니다.

손글씨와 장식 글꼴

여기서 사용하는 모델은 인쇄된 텍스트로 학습했기 때문에 손글씨는 대체로 잘 인식하지 못합니다. 또박또박 떨어뜨려 쓴 대문자 인쇄체가 가장 가능성이 높고, 이어 쓴 필기체와 서명은 쓸 만한 결과가 거의 나오지 않습니다. 장식체, 필기체 글꼴, 폭이 아주 좁은 글꼴, 무늬가 있는 배경 위의 글자, 세로쓰기 텍스트도 비슷한 문제를 일으킵니다.

결과 확인하고 고치기

OCR 결과는 초안으로 여기세요. 흔한 실수로는 0과 O, 1·l·I, "rn"과 "m"의 혼동, 악센트와 문장 부호의 누락이나 오류, 줄 끝에서 단어가 합쳐지거나 나뉘는 문제, 옆 단의 줄이 뒤섞이는 문제가 있습니다. 표와 다단 레이아웃은 유지되지 않으며 결과는 일반 텍스트입니다.

텍스트를 이미지와 비교하되, 특히 글자 하나만 틀려도 문제가 되는 숫자, 이름, 날짜, 금액, 주소를 주의 깊게 보세요. 신뢰도 값이 높다고 해서 텍스트가 정확하다는 보장은 없습니다. 복사하거나 내려받기 전에 도구에서 텍스트를 수정할 수 있습니다.

개인정보 보호: 기기에 남는 것

LeedyBox 도구는 브라우저에서 OCR 엔진을 실행합니다. 이미지는 사용자의 기기에서 읽히며 LeedyBox로 업로드되지 않습니다. 브라우저는 Tesseract.js 라이브러리, WebAssembly 엔진, 선택한 각 언어의 데이터를 leedybox.com에서 직접 내려받습니다. 이는 이미지를 포함하지 않는 일반적인 파일 다운로드입니다. Tesseract.js는 언어 데이터를 다시 내려받지 않도록 브라우저 저장소(IndexedDB)에 저장하며, 브라우저에서 사이트 데이터를 삭제하면 함께 삭제됩니다.

자주 묻는 질문

첫 번째 이미지는 왜 느린가요?

어떤 언어를 처음 사용할 때 OCR 엔진과 언어 데이터(수 메가바이트)를 내려받습니다. 이후 이미지에서는 이를 다시 사용하며, 언어 데이터는 다음 방문을 위해 브라우저 저장소에 보관됩니다.

OCR로 문서의 레이아웃을 유지할 수 있나요?

이 도구는 줄바꿈이 포함된 일반 텍스트를 추출합니다. 다단 구성, 표, 글꼴, 서식은 편집기에서 직접 다시 만들어야 합니다.

도구가 텍스트를 하나도 찾지 못한 이유는 무엇인가요?

대개 글자가 너무 작거나 흐리거나, 언어가 맞지 않기 때문입니다. 텍스트 부분만 잘라 내거나, 언어를 확인하거나, 다른 텍스트 배치 설정을 시도해 보세요.