광학 문자 인식(OCR)은 텍스트 이미지(스캔, 스마트폰 사진, PDF)를 기계가 읽을 수 있는 문자열로, 그리고 점점 더 구조화된 데이터로 변환합니다. 최신 OCR은 이미지를 정리하고, 텍스트를 찾고, 읽고, 풍부한 메타데이터를 내보내는 파이프라인으로, 다운스트림 시스템이 필드를 검색, 색인 또는 추출할 수 있도록 합니다. 널리 사용되는 두 가지 출력 표준은 hOCR, 텍스트 및 레이아웃을 위한 HTML 마이크로포맷, 및 ALTO XML, 도서관/기록 보관소 지향 스키마입니다. 둘 다 위치, 읽기 순서 및 기타 레이아웃 단서를 보존하며 다음과 같은 인기 있는 엔진에서 지원됩니다. Tesseract.
전처리. OCR 품질은 이미지 정리부터 시작됩니다: 그레이스케일 변환, 노이즈 제거, 임계값 처리(이진화) 및 기울기 보정. 표준 OpenCV 튜토리얼은 전역, 적응형 및 Otsu 임계값 처리를 다룹니다. 이는 불균일한 조명이나 이중 모드 히스토그램이 있는 문서의 필수 요소입니다. 페이지 내에서 조명이 달라지면 (휴대폰 사진을 생각해보세요), 적응형 방법이 단일 전역 임계값보다 성능이 뛰어난 경우가 많습니다. Otsu는 히스토그램을 분석하여 자동으로 임계값을 선택합니다. 기울기 보정도 마찬가지로 중요합니다: Hough 기반 기울기 보정(Hough 라인 변환)과 Otsu 이진화를 함께 사용하면 프로덕션 전처리 파이프라인에서 일반적이고 효과적인 방법입니다.
탐지 대 인식. OCR은 일반적으로 텍스트 탐지(텍스트는 어디에 있는가?)와 텍스트 인식(무슨 내용인가?)으로 나뉩니다. 자연스러운 장면과 많은 스캔에서 완전 컨볼루션 탐지기 같은 EAST 는 무거운 제안 단계 없이 단어 또는 줄 수준의 사각형을 효율적으로 예측하며 일반적인 툴킷(예: OpenCV의 텍스트 탐지 튜토리얼)에 구현되어 있습니다. 복잡한 페이지(신문, 양식, 책)에서는 줄/영역의 분할과 읽기 순서 추론이 중요합니다:Kraken 은 전통적인 영역/줄 분할과 신경망 기준선 분 할을 구현하며, 다양한 스크립트와 방향(LTR/RTL/수직)을 명시적으로 지원합니다.
인식 모델. 고전적인 오픈 소스 주력 제품인 Tesseract (HP에서 시작하여 Google이 오픈 소스로 공개)는 문자 분류기에서 LSTM 기반 시퀀스 인식기로 발전했으며 검색 가능한 PDF, hOCR/ALTO 친화적인 출력등을 CLI에서 내보낼 수 있습니다. 최신 인식기는 미리 분할된 문자 없이 시퀀스 모델링에 의존합니다. 연결주의적 시간 분류(CTC) 는 입력 특징 시퀀스와 출력 레이블 문자열 간의 정렬을 학습하는 기본으로 남아 있으며, 필기 및 장면 텍스트 파이프라인에서 널리 사용됩니다.
지난 몇 년 동안 Transformer는 OCR을 재구성했습니다. TrOCR 은 비전 Transformer 인코더와 텍스트 Transformer 디코더를 사용하며, 대규모 합성 코퍼스에서 훈련한 다음 실제 데이터로 미세 조정하여 인쇄, 필기 및 장면 텍스트 벤치마크에서 강력한 성능을 보입니다(참조: Hugging Face 문서). 병행하여 일부 시스템은 다운스트림 이해를 위해 OCR을 건너뜁니다: Donut(문서 이해 Transformer) 은 문서 이미지에서 직접 구조화된 답변(키-값 JSON 등)을 출력하는 OCR 없는 인코더-디코더입니다(리포지토리, 모델 카드), 별도의 OCR 단계가 IE 시스템에 공급될 때 오류 누적을 방지합니다.
많은 스크립트에서 바로 사용할 수 있는 텍스트 읽기를 원한다면 EasyOCR 은 80개 이상의 언어 모델과 함께 간단한 API를 제공하여 상자, 텍스트 및 신뢰도를 반환하므로 프로토타입과 비라틴 스크립트에 유용합니다. 역사적 문서의 경우 Kraken 은 기준선 분할 및 스크립트 인식 읽기 순서로 뛰어납니다. 유연한 줄 수준 훈련을 위해 Calamari 는 Ocropy 계보를 기반으로 합니다(Ocropy) (다중)LSTM+CTC 인식기와 사용자 지정 모델 미세 조정을 위한 CLI가 있습니다.
일반화는 데이터에 달려 있습니다. 필기의 경우 IAM 필기 데이터베이스 는 훈련 및 평가를 위해 다양한 필체의 영어 문장을 제공합니다. 이는 줄 및 단어 인식을 위한 오랜 참조 세트입니다. 장면 텍스트의 경우 COCO-Text 는 MS-COCO 위에 광범위한 주석을 계층화했으며, 인쇄/필기, 읽기 가능/읽기 불가능, 스크립트 및 전체 전사에 대한 레이블이 있습니다(원본 프로젝트 페이지참조). 이 분야는 또한 합성 사전 훈련에 크게 의존합니다: SynthText in the Wild 는 사실적인 기하학과 조명으로 사진에 텍스트를 렌더링하여 사전 훈련 탐지기 및 인식기를 위한 방대한 양의 데이터를 제공합니다(참조: 코드 및 데이터).
ICDAR의 강력한 읽기 산하의 대회는 평가를 현실에 기반하게 합니다. 최근 과제는 종단 간 탐지/읽기를 강조하며 단어를 구문으로 연결하는 것을 포함하며, 공식 코드 보고 정밀도/재현율/F-점수, 교차 오버 유니온 (IoU) 및 문자 수준 편집 거리 메트릭—실무자가 추적해야 할 사항을 반영합니다.
OCR은 일반 텍스트로 끝나는 경우가 거의 없습니다. 아카이브 및 디지털 도서관은 ALTO XML 을 선호합니다. 왜냐하면 콘텐츠와 함께 물리적 레이아웃(좌표가 있는 블록/줄/단어)을 인코딩하고 METS 패키징과 잘 어울리기 때문입니다. hOCR 마이크로포맷은 대조적으로 ocr_line 및 ocrx_word와 같은 클래스를 사용하여 동일한 아이디어를 HTML/CSS에 포함시켜 웹 도구로 쉽게 표시, 편집 및 변환할 수 있도록 합니다. Tesseract는 둘 다 노출합니다. 예를 들어 CLI에서 직접 hOCR 또는 검색 가능한 PDF 생성(PDF 출력 가이드); pytesseract 와 같은 Python 래퍼는 편의성을 더합니다. 리포지토리에 고정된 수집 표준이 있을 때 hOCR과 ALTO 간에 변환하는 변환기가 있습니다. 이 선별된 목록을 참조하십시오. OCR 파일 형식 도구.
가장 강력한 추세는 융합입니다: 탐지, 인식, 언어 모델링, 심지어 작업별 디코딩까지 통합된 Transformer 스택으로 통합되고 있습니다. 대규모 합성 코퍼스 에서의 사전 훈련은 여전히 힘의 승수입니다. OCR 없는 모델은 대상이 글자 그대로의 전사가 아닌 구조화된 출력인 곳이면 어디에서나 공격적으로 경쟁할 것입니다. 하이브리드 배포도 기대하십시오: 긴 형식 텍스트를 위한 경량 탐지기 + TrOCR 스타일 인식기, 그리고 양식 및 영수증을 위한 Donut 스타일 모델.
Tesseract (GitHub) · Tesseract 문서 · hOCR 사양 · ALTO 배경 · EAST 탐지기 · OpenCV 텍스트 탐지 · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · IAM 필기 · OCR 파일 형식 도구 · EasyOCR
광학 문자 인식 (OCR)은 스캔된 종이 문서, PDF 파일 또는 디지털 카메라로 촬영된 이미지와 같은 다양한 유형의 문서를 편집 가능하고 검색 가능한 데이터로 변환하는데 사용되는 기술입니다.
OCR은 입력 이미지 또는 문서를 스캔하고, 이미지를 개별 문자로 분할하고, 패턴 인식 또는 특징 인식을 사용하여 각 문자를 문자 모양의 데이터베이스와 비교하는 방식으로 작동합니다.
OCR은 인쇄된 문서를 디지털화하고, 텍스트를 음성 서비스를 활성화하고, 데이터 입력 과정을 자동화하며, 시각 장애 사용자가 텍스트와 더 잘 상호작용하도록 돕는 등 다양한 부문과 응용 프로그램에서 사용됩니다.
OCR 기술에는 큰 발전이 있었지만, 완벽하지는 않습니다. 원본 문서의 품질과 사용 중인 OCR 소프트웨어의 특정사항에 따라 정확성이 달라질 수 있습니다.
OCR은 주로 인쇄된 텍스트에 대해 설계되었지만, 일부 고급 OCR 시스템은 분명하고 일관된 필기를 인식할 수도 있습니다. 그러나 일반적으로 필기체 인식은 개개인의 글씨 스타일에 있는 넓은 차이 때문에 덜 정확합니다.
네, 많은 OCR 소프트웨어 시스템은 여러 언어를 인식할 수 있습니다. 그러나, 특정 언어가 사용 중인 소프트웨어에 의해 지원되는지 확인하는 것이 중요합니다.
OCR은 광학 문자 인식을 의미하며 인쇄된 텍스트를 인식하는데 사용되는 반면, ICR은 Intelligent Character Recognition의 약자로서 필기 텍스트를 인식하는데 사용되는 더 고급스러운 기술입니다.
OCR은 명확하고 읽기 쉬운 글꼴과 표준 텍스트 크기와 가장 잘 작동합니다. 다양한 글꼴과 크기로 작업할 수 있지만, 특이한 글꼴이나 매우 작은 텍스트 크기를 처리할 때 정확도가 떨어질 수 있습니다.
OCR은 해상도가 낮은 문서, 복잡한 폰트, 인쇄 상태가 좋지 않은 텍스트, 필기체, 텍스트와 방해되는 배경을 가진 문서 등에 대해 어려움을 겪을 수 있습니다. 또한, 많은 언어를 처리할 수 있지만 모든 언어를 완벽하게 커버하지는 않을 수 있습니다.
네, OCR은 컬러 텍스트와 배경을 스캔할 수 있지만, 일반적으로 검은색 텍스트와 흰색 배경과 같은 높은 대비 색상 조합에서 더 효과적입니다. 텍스트와 배경색이 충분히 대비를 이루지 못할 때 정확성이 감소할 수 있습니다.
스칼라블 벡터 그래픽(SVG)은 XML에서 2차원 그래픽을 설명하는 데 널리 사용되는 마크업 언어입니다. 개별 픽셀의 컬렉션으로 이미지를 저장하는 JPEG, PNG 또는 GIF와 같은 래스터 그래픽 형식과 달리 SVG는 수학적 공식을 통해 모양, 선 및 색상을 정의하여 작동합니다. 이러한 근본적인 차이로 인해 SVG 파일은 품질을 잃지 않고 모든 크기로 확장할 수 있어 다양한 기기와 해상도에서 선명도를 유지해야 하는 반응형 웹 디자인, 복 잡한 일러스트레이션 및 로고에 이상적입니다.
SVG 그래픽은 SVG의 마크업 언어를 사용하여 정의된 획, 채우기 및 기타 시각적 속성과 함께 2D 공간의 점으로 설명된 원, 사각형, 다각형 및 경로와 같은 벡터 모양으로 구성됩니다. SVG 파일 내의 각 요소와 속성은 SVG 렌더링 모델의 일부에 직접 대응하여 그래픽의 모양에 대한 세밀한 제어를 가능하게 합니다. SVG 파일은 일반 텍스트 파일이므로 모든 텍스트 편집기로 만들고 편집할 수 있으며, 다양한 소프트웨어 라이브러리를 사용하여 프로그래밍 방식으로 생성하고 조작할 수도 있습니다.
SVG의 주요 기능 중 하나는 DOM 인터페이스입니다. SVG 이미지는 HTML 문서에 직접 임베드할 수 있으며, 문서 객체 모델(DOM)의 일부가 되기 때문에 HTML 요소와 마찬가지로 상호 작용할 수 있습니다. 이러한 통합을 통해 JavaScript와 CSS를 통해 SVG 이미지의 속성을 동적으로 변경할 수 있어 애니메이션, 상호 작용 및 그래픽에 대한 라이브 업데이트가 가능합니다. 예를 들어, SVG 요소의 색상, 크기 또는 위치는 마우스 움직임이나 클릭과 같은 사용자 상호 작용이나 그래픽이 나타내는 데이터의 변경에 따라 변경될 수 있습니다.
SVG는 복잡한 시각적 표현을 만드는 데 광범위한 옵션을 제공하는 그라디언트, 패턴, 클리핑 경로 및 마스크를 포함한 다양한 그래픽 효과를 지원합니다. SVG에는 또한 블러링, 색상 조작 및 그림자와 같은 필터 효과가 포함되어 있으며, 이러한 효과는 CSS 필터와 유사한 방식으로 정의되지만 벡터 그래픽에 맞게 특별히 설계되었습니다. 이러한 효과를 통해 개발자와 디자이너는 래스터 이미지를 사용하지 않고도 SVG 마크업 내에서 직접 정교한 시각적 향상을 적용하여 세부적인 일러스트레이션과 질감 있는 마무리를 구현할 수 있습니다.
상호 작용성과 애니메이션은 SVG에서 가장 매력적인 용도 중 하나입니다. <animate>, <set> 및 <animateTransform> 요소를 사용하여 SVG는 시간이 지남에 따라 그래픽의 속성과 속성을 애니메이션화하는 선언적 구문을 제공합니다. 또한 SVG와 JavaScript의 통합은 애니메이션 기능을 확장하여 사용자 입력이나 기타 동적 이벤트에 반응하는 더 복잡하고 대화형 애니메이션을 가능하게 합니다. 이러한 기능을 결합하면 웹 기술의 모든 기능을 활용할 수 있는 매력적인 웹 애플리케이션, 데이터 시각화 및 대화형 인포그래픽을 만들 수 있습니다.
접근성은 SVG의 또 다른 중요한 이점입니다. SVG 이미지 내의 텍스트는 선택하고 검색할 수 있으며, 텍스트가 평평해지는 래스터 이미지와 대조됩니다. 이 기능은 텍스트 선택을 허용하여 사용자 경험을 향상시킬 뿐만 아니라 화면 판독기가 SVG 그래픽에 포함된 텍스트를 해석하고 소리내어 읽을 수 있으므로 문서의 접근성을 향상시킵니다. 또한 SVG는 요소의 의미적 그룹화와 설명적 태그를 지원하며, 이를 통해 보조 기술에 그래픽의 구조와 목적을 전달하는 데 도움이 됩니다.
최적화와 압축은 웹 성능에 매우 중요하며, SVG 파일은 이 영역에서 몇 가지 이점을 제공합니다. 텍스트 기반인 SVG 그래픽은 GZIP을 사용하여 크게 압축할 수 있으며, 이를 통해 로딩 시간을 단축하기 위해 파일 크기를 크게 줄일 수 있습니다. 또한 SVG는 벡터 기반이므로 특히 간단한 그래픽이나 아이콘의 경우 고해상도 래스터 이미지보다 저장 공간이 적게 필요한 경우가 많습니다. 그러나 XML의 장황함과 지나치게 복잡하거나 비효율적으로 코딩된 그래 픽의 가능성으로 인해 SVG 파일이 필요 이상으로 커질 수 있습니다. 따라서 SVGO(SVG Optimizer)와 같은 도구는 일반적으로 SVG 파일을 정리하고 최적화하여 불필요한 데이터와 서식을 제거하여 파일을 가능한 한 컴팩트하게 만드는 데 사용됩니다.
SVG는 반응형 웹 디자인에서도 중요한 역할을 합니다. 확장성을 고려할 때 SVG 그래픽은 품질 저하나 픽셀화 문제 없이 다양한 화면 크기, 해상도 및 방향에 쉽게 적응할 수 있습니다. 디자이너는 속성과 CSS를 통해 SVG 이미지의 반응성을 제어하여 데스크톱 모니터부터 스마트폰까지 모든 기기에서 그래픽이 선명하고 깨끗하게 보이도록 할 수 있습니다. 이러한 고유한 확장성으로 인해 SVG는 다양한 디스플레이 컨텍스트에서 시각적 무결성을 유지해야 하는 로고, 아이콘 및 기타 그래픽에 탁월한 선택이 됩니다.
많은 장점에도 불구하고 SVG에는 과제와 한계가 있습니다. 예를 들어, SVG는 모양, 선 및 텍스트와 같은 그래픽 요소를 표현하는 데 뛰어나지만 사진과 같이 수천 개의 색상과 그라디언트가 있는 복잡한 이미지에는 적합하지 않습니다. 이러한 경우 JPEG 또는 PNG와 같은 래스터 형식이 더 적합합니다. 또한 SVG는 매우 복잡하거나 많은 요소가 포함된 그래픽을 처리할 때 성능이 저하될 수 있습니다. 각 요소는 렌더링되고 잠재적으로 애니메이션화되거나 상호 작용해야 하기 때문입니다.
게다가 브라우저 간 호환성은 역사적으로 SVG에 과제였습니다. 최신 웹 브라우저는 SVG에 대한 지원을 개선했지만, 서로 다른 브라우저가 SVG 콘텐츠를 해석하고 표시하는 방식에 여전히 불일치가 있을 수 있습니다. 개발자는 모든 플랫폼에서 그래픽이 올바르게 표시되도록 하기 위해 해결 방법이나 대안을 구현해야 할 수 있습니다. 접근성 기능은 강력하지만 보조 기술을 위한 그래픽의 적절한 레이블 지정 및 구조화를 포함하여 SVG의 기능을 완전히 활용하려면 신중한 구현이 필요합니다.
SVG와 다른 웹 표준의 통합은 웹 디자이너와 개발자에게 광범위한 가능성을 열어줍니다. SVG는 CSS로 스타일을 지정할 수 있어 디자이너가 벡터 그래픽에 친숙한 스타일 속성을 적용할 수 있습니다. JavaScript를 통해 조작할 수 있어 동적 변경과 상호 작용이 가능합니다. 또한 SVG는 XML 기반이므로 RSS 피드나 XML 데이터베이스와 같은 다른 XML 기술 및 데이터 형식과 함께 사용할 수 있습니다. 이러한 통합으로 인해 SVG는 데이터 시각화를 위한 강력한 도구가 되어 실시간으로 업데이트되는 동적이고 데이터 기반 그래픽을 생성할 수 있습니다.
미래를 내다보면 웹 개발에서 SVG의 역할은 계속해서 커질 것으로 보입니다. 웹 기술의 발전과 고품질, 대화형 및 반응형 그래픽에 대한 수요 증가는 SVG 사용의 더 많은 채택과 혁신을 이끌 것입니다. 애니메이션 구문 개선, 더 나은 접근성 기능 및 향상된 성능 최적화와 같은 새로운 기능과 기능이 개발될 가능성이 높으며, 이를 통해 SVG는 현대 웹 디자인의 더욱 필수적인 요소가 될 것입니다.
결론적으로 SVG는 웹에서 확장 가능한 벡터 그래픽을 만들고 조작하기 위한 풍부한 기능 세트를 제공합니다. 품질 저하 없이 확장할 수 있는 기능과 상호 작용성, 애니메이션 및 접근성에 대한
이 변환기는 전적으로 브라우저에서 실행됩니다. 파일을 선택하면 메모리로 읽어와 선택한 형식으로 변환됩니다. 그런 다음 변환된 파일을 다운로드할 수 있습니다.
변환은 즉시 시작되며 대부분의 파일은 1초 이내에 변환됩니다. 파일이 크면 더 오래 걸릴 수 있습니다.
파일은 서버에 업로드되지 않습니다. 브라우저에서 변환된 다음 변환된 파일이 다운로드됩니다. 우리는 귀하의 파일을 절대 보지 않습니다.
JPEG, PNG, GIF, WebP, SVG, BMP, TIFF 등을 포함한 모든 이미지 형식 간의 변환을 지원합니다.
이 변환기는 완전히 무료이며 항상 무료입니다. 브라우저에서 실행되기 때문에 서버 비용을 지불할 필요가 없으므로 비용을 청구할 필요가 없습니다.
예! 한 번에 원하는 만큼 많은 파일을 변환할 수 있습니다. 추가할 때 여러 파일을 선택하기만 하면 됩니다.