아티클
OCR 정확도 향상: 텍스트를 인식하기 전에 이미지를 수정하세요
OCR의 성능은 입력 이미지의 품질에 달려 있습니다. 기울어지고 대비가 낮으며 노이즈가 많은 스캔은 엔진이 아무리 좋아도 엉망인 텍스트를 출력합니다. 실제로 차이를 만드는 요소들을 처리 순서대로 정리했으며, 모두 브라우저에서 로컬로 실행됩니다.
OCR이 실제 스캔에서 어려움을 겪는 이유
Tesseract 같은 OCR 엔진은 깨끗하고 수평이며 대비가 높은 텍스트로 학습되었습니다. 페이지를 줄로 나누고, 줄을 단어로, 단어를 문자 형태로 분리한 다음 각 형태를 학습된 모델과 대조합니다. 실제 스캔은 이러한 전제를 무너뜨립니다. 페이지가 몇 도 기울어져 있고, 조명이 고르지 않으며, 해상도가 낮고, 스캐너 베드 가장자리나 맞은편 페이지에서 어두운 노이즈가 추가됩니다. 이러한 문제 각각이 줄과 문자 분리 단계에서 오류를 일으키고, 잘못된 분리는 잘못된 문자로 이어집니다. 해결책은 다른 엔진을 쓰는 것이 아니라 엔진의 전제가 성립하도록 이미지를 준비하는 것입니다. 실제로 전처리가 OCR 엔진 선택보다 정확도에 더 큰 영향을 줍니다.

해상도부터 시작하세요: 300 DPI를 목표로
Tesseract는 일반 본문 텍스트의 경우 약 300 DPI에서 가장 잘 작동합니다. 약 200 DPI 이하에서는 각 글리프의 획이 이웃 글리프와 흐릿하게 겹쳐 정확도가 크게 떨어집니다. 스캔을 직접 제어할 수 있다면, 다른 무엇보다 먼저 스캐너를 300 DPI로 설정하세요. 이것이 가장 효과가 큰 단일 선택입니다. 저해상도 이미지만 있는 경우 업스케일링해도 원래 캡처되지 않은 세부 정보를 만들어낼 수는 없지만, 적당한 업스케일은 분리에 더 많은 픽셀을 제공하여 엔진이 붙어 있는 문자를 구분하는 데 도움이 될 수 있습니다. 매우 작은 인쇄물은 400에서 600 DPI가 유리하며, 그 이상은 정확도 향상 없이 파일 크기만 커집니다. 소스가 PDF인 경우 먼저 각 페이지를 목표 DPI의 이미지로 래스터화한 다음 해당 이미지에서 OCR을 실행하세요.
방향을 올바르게 맞추세요
페이지가 90, 180, 270도 회전되어 있으면 엔진이 옆으로 또는 거꾸로 읽어 의미 없는 결과를 반환합니다. Tesseract에는 방향 및 스크립트 감지(OSD) 패스가 있어 회전을 추정할 수 있지만, 텍스트가 적거나 양식, 이미지가 많은 페이지에서는 신뢰할 수 없습니다. 페이지를 직접 바로 회전시키면 추측이 필요 없어집니다. 이 단계는 손실 없이 즉시 처리됩니다. 90도 배수로 회전하면 기존 픽셀을 새 위치로 재배치하기만 하므로 품질 손실이나 리샘플링이 없습니다. 기울기 보정은 텍스트가 이미 대략 수평이라고 가정하므로, 기울기 보정 전에 이 단계를 수행하세요.
기울기 보정: 미세한 기울어짐을 바로잡기
페이지를 약간 비스듬히 넣었을 때 발생하는 2~3도의 기울어짐도 OCR에 영향을 줍니다. 수평 줄 감지 단계에서 하나의 텍스트 줄이 두 줄로 나뉘거나 두 줄이 하나로 합쳐집니다. 기울기 보정은 텍스트 줄의 주된 각도를 측정(일반적으로 투영 프로파일 또는 Hough 변환 분석을 사용)하고 페이지를 수평으로 되돌립니다. 90도 회전과 달리 기울기 보정은 임의의 작은 각도로 회전하므로 픽셀을 리샘플링하여 약간의 흐림이 발생합니다. 하지만 수평 줄은 깔끔하게 분리되고 정확도 향상이 약간의 흐림을 훨씬 능가하므로 이 교환은 거의 항상 가치 있습니다. 방향을 수정한 후, 자르기 전에 기울기를 보정하세요.

텍스트 영역으로 자르고 노이즈를 제거하세요
원하는 텍스트가 아닌 것은 모두 엔진이 잘못 읽을 수 있는 노이즈입니다. 스캐너 베드의 어두운 테두리, 맞은편 페이지의 일부, 스테이플로 고정된 모서리, 손가락, 펀치 구멍 등이 그 예입니다. 텍스트 블록만 남도록 자르면 이러한 오인식 대상이 제거되어 정확도가 향상되고, 엔진이 분석할 영역이 줄어 인식 속도도 빨라집니다. 다단 문서의 경우 자르기(또는 한 번에 한 열씩 OCR 실행)를 통해 엔진이 여백을 가로질러 읽어 두 열을 하나의 뒤섞인 줄로 합치는 것을 방지할 수 있습니다. 기울기 보정 후에 자르면 내용이 프레임 안에 반듯하게 자리 잡습니다.
대비, 회색조, 그리고 이진화의 실제 작동 방식
OCR은 궁극적으로 이진 이미지에서 실행됩니다. 모든 픽셀은 잉크 또는 종이로 판정됩니다. Tesseract는 이미지 히스토그램에서 단일 전역 임계값을 선택하는 Otsu 방식을 사용하여 내부적으로 이 작업을 수행합니다. 이 방법은 페이지 조명이 균일하고 대비가 좋을 때는 잘 작동하지만, 그림자나 색이 있는 배경으로 인해 한쪽 모서리가 임계값보다 어두워지면 실패합니다. 확실히 효과 있는 방법은 회색조로 변환하여 색상 캐스트가 임계값을 혼란스럽게 하지 않도록 하고, 조명을 고르게 하여 페이지 전체가 임계값의 한쪽에 위치하도록 하는 것입니다. 대비를 적당히 높이면 희미한 텍스트에 도움이 됩니다. 일반적으로 역효과를 내는 것은 수동 이진화입니다. 잘못된 임계값으로 직접 흑백으로 변환하면 엔진 자체의 처리 단계에서 유지했을 희미한 획이 지워집니다. 엔진이 이진화하도록 두고, 고른 회색조 이미지를 제공하세요. Sunasty는 PDF의 회색조 변환을 제공하며, 세밀한 대비 조정에는 데스크톱 편집기가 더 적합하지만 스캔 시 균일한 조명이 어떤 슬라이더보다 중요합니다.
올바른 언어를 선택하고 출력을 검토하세요
Tesseract는 언어 및 스크립트별로 별도의 학습 데이터 파일을 불러옵니다. 프랑스어나 그리스어 텍스트에 영어 모델을 실행하면 특히 악센트가 있거나 라틴 문자가 아닌 경우 피할 수 있는 오류가 발생하므로, 문서와 일치하는 언어를 선택하세요. 마지막으로 OCR 출력을 최종 결과가 아닌 초안으로 취급하세요. 엔진은 이름이 올바르게 표기되었는지 또는 0이 O가 아닌지 알 방법이 없습니다. 숫자, 고유 명사, 법적으로 또는 재무적으로 중요한 내용은 반드시 교정하세요. 표와 다단 레이아웃은 구조를 수동으로 수정해야 합니다. OCR은 레이아웃을 재구성하는 것이 아니라 인식된 텍스트의 흐름을 반환하기 때문입니다.
이 아티클의 도구
- OCR · 이미지/PDF를 텍스트로스캔한 이미지나 PDF에서 텍스트를 전적으로 브라우저에서 추출, 오프라인 실행, 업로드 없음.
- 스캔 페이지 기울기 보정기울어진 스캔 PDF나 이미지를 전적으로 브라우저에서 똑바로, 업로드 없음.
- 이미지 회전 및 뒤집기이미지를 90/180/270° 회전하거나 가로/세로로 뒤집으세요, 업로드 없이.
- 이미지 자르기대화형 미리보기로 이미지를 자르세요, 자르기 영역을 드래그하고 크기를 조정하세요. 업로드 없음.
- PDF를 흑백으로컬러 PDF를 전적으로 브라우저에서 흑백으로 변환, 업로드 없음.
- 이미지 크기 조정이미지(JPEG, PNG, WebP)를 업로드 없이 크기 조정하고 변환하세요.
- PDF를 이미지로각 PDF 페이지를 브라우저에서 직접 PNG나 JPG로 변환하세요.
자주 묻는 질문
흐릿한 스캔을 업스케일하면 OCR이 향상되나요?
단독으로는 별로 효과가 없습니다. 업스케일링은 스캔이 캡처하지 못한 세부 정보를 복원할 수 없으므로 흐릿한 100 DPI 이미지는 여전히 흐릿합니다. 적당한 업스케일은 분리에 더 많은 픽셀을 제공하여 엔진이 붙어 있는 문자를 구분하는 데 도움이 될 수 있지만, 300 DPI로 다시 스캔하는 것이 어떤 업스케일보다 훨씬 효과적입니다.
먼저 이미지를 순수한 흑백으로 직접 변환해야 하나요?
보통 그럴 필요 없습니다. Tesseract는 Otsu 방식을 사용하여 내부적으로 이진화하며, 잘못된 임계값으로 수동 이진화를 하면 엔진이 유지했을 희미한 획이 지워집니다. 대신 회색조로 변환하고 조명을 고르게 한 다음 엔진이 자체 임계값을 선택하도록 두세요.
텍스트가 옆으로 있습니다. OCR이 자동으로 회전시켜 주나요?
가끔 그렇습니다. Tesseract에는 방향 감지 패스가 있지만, 양식, 텍스트가 적은 페이지, 이미지가 많은 페이지에서는 신뢰할 수 없습니다. 페이지를 90, 180, 270도로 직접 바로잡으면 손실이 없고 추측이 필요 없으므로 더 안전한 선택입니다.
이 작업이 문서를 업로드하나요?
아닙니다. 회전, 기울기 보정, 자르기, 회색조 변환, OCR 모두 브라우저에서 실행됩니다. OCR은 Tesseract의 WebAssembly 빌드를 사용하며, 학습된 언어 데이터는 한 번 다운로드되어 캐시됩니다. 파일은 절대 기기를 벗어나지 않습니다.