C#에서 Tesseract와 함께 사용자 지정 언어를 사용하는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR는 Tesseract .traineddata 파일을 UseCustomTesseractLanguageFile 메소드를 통해 로드하여 사용자 정의 언어, 특수 스크립트 또는 암호에 대한 OCR을 가능하게 하며, 사용자 정의 학습 언어 모델에서 텍스트를 추출할 수 있게 합니다.

빠른 시작: OCR용 사용자 지정 언어 로드

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronOcr 설치하기

    PM > Install-Package IronOcr
  2. 다음 코드 조각을 복사하여 실행하세요.

    using IronOcr;
    
    // Initialize OCR engine
    var ocr = new IronTesseract();
    
    // Load custom language file
    ocr.UseCustomTesseractLanguageFile("custom.traineddata");
    
    // Process document
    using var input = new OcrInput();
    input.LoadImage("document.png");
    
    // Extract text
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronOCR 사용 시작하기

    arrow pointer
  1. NuGet 패키지 관리자를 통해 IronOCR을 설치합니다.
  2. 사용자 정의 .traineddata 파일을 UseCustomTesseractLanguageFile 로 로드하세요
  3. OcrInput 를 생성하고 문서를 로드하세요
  4. 사용자 정의 언어로 텍스트를 추출하려면 Read() 를 호출하세요
  5. 추출된 텍스트를 저장하거나 처리합니다.

광학 문자 인식(OCR)은 때때로 사용자 지정 언어, 특수 문자 체계 또는 암호화 방식을 처리해야 합니다. 사용자 지정 언어가 포함된 입력 이미지를 읽으려면 Tesseract 엔진에 해당 언어에 대한 학습 데이터를 제공해야 합니다. 이 데이터는 특수한 .traineddata 파일에 저장됩니다.

이 파일을 생성(학습)하는 복잡한 과정은 Tesseract 자체 도구를 사용하여 수행되지만, IronOCR은 이러한 사용자 지정 언어 파일 사용을 완벽하게 지원합니다. 이를 통해 학습된 모델을 사용하여 모든 입력에서 텍스트를 해독하고 읽을 수 있습니다. 이 가이드는 IronOCR와 사용자 정의 .traineddata 파일을 로드하고 사용하는 방법을 보여줍니다.


Tesseract를 사용하여 사용자 지정 언어 OCR을 구현하는 방법은 무엇입니까?

Tesseract에서 사용자 정의 언어를 사용하려면 먼저 .traineddata 파일을 로드하고 UseCustomTesseractLanguageFile 메소드를 호출하세요. 이 파일에는 Tesseract가 사용자 지정 언어의 고유 문자를 인식할 수 있도록 하는 모든 학습 데이터가 포함되어 있으므로 이 단계는 필수적입니다.

IronOCR의 사용자 지정 언어 지원은 표준 언어 외에도 확장됩니다. 역사적인 문자 체계든, 새로 만들어진 언어든, 특수한 표기 체계든, 모든 과정에는 동일한 원칙이 적용됩니다. 여러 언어가 필요한 프로젝트의 경우, 다국어 읽기 가이드를 참조하거나 기본적으로 지원되는 125개 국제 OCR 언어에 대해 알아보세요.

다음으로, 일반적인 OCR 작업과 마찬가지로 입력 문서를 불러오세요. LoadPdf를 사용하여 사용자 정의 언어 단락이 포함된 PDF를 로드하고 있습니다. IronOCR은 이미지(jpg, png, gif, tiff, bmp)PDF를 포함한 다양한 입력 형식을 지원합니다.

마지막으로 Read 메소드를 사용하여 입력에서 텍스트를 추출하세요. 그 결과는 콘솔에 출력하거나 참조용으로 텍스트 파일에 저장할 수 있습니다.

사용자 정의 언어에 필요한 학습 데이터는 무엇인가요?

사용자 지정 언어로 작성된 텍스트가 포함된 이 샘플 PDF를 입력으로 사용하겠습니다.

예시를 위해 이 사용자 정의 언어 .traindata를 사용할 것입니다.

학습 데이터의 품질과 포괄성은 OCR 정확도에 직접적인 영향을 미칩니다. 사용자 지정 언어 학습 데이터를 준비할 때:

  1. 문자 범위 : 학습 데이터에 모든 문자와 기호가 포함되어 있는지 확인하십시오.
  2. 글꼴 변형 : 문서의 서체가 다양하다면 여러 글꼴 스타일을 포함하세요.
  3. 이미지 품질 : 실제 운영 환경에서 처리할 이미지와 유사한 이미지로 학습하세요.
  4. 문맥 패턴 : 흔히 사용되는 단어 조합과 구문을 포함합니다.

고급 구성 옵션에 대한 자세한 내용은 Tesseract 상세 구성 가이드를 참조하십시오.

사용자 지정 언어 문서를 불러오고 처리하는 방법은 무엇입니까?

:path=/static-assets/ocr/content-code-examples/how-to/ocr-custom-language.cs
using IronOcr;
using System;
using System.IO;

var ocrTesseract = new IronTesseract();

// Load the traineddata file for the custom language
ocrTesseract.UseCustomTesseractLanguageFile("AMGDT.traineddata");

using var ocrInput = new OcrInput();
// Load the PDF containing text in the custom language
ocrInput.LoadPdf("custom.pdf");

var ocrResult = ocrTesseract.Read(ocrInput);

// Print text to the console
Console.WriteLine("--- OCR Result ---");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("------------------");

// Pipe text to a .txt file
string outputFilePath = "ocr_output.txt";
File.WriteAllText(outputFilePath, ocrResult.Text);

Console.WriteLine($"\nSuccessfully saved text to {outputFilePath}");
$vbLabelText   $csharpLabel

위 코드는 사용자 지정 언어 OCR의 기본 워크플로를 보여줍니다. 보다 복잡한 시나리오의 경우 다음과 같은 개선 사항을 고려해 보세요.

성능 최적화 : 대용량 문서 또는 일괄 처리의 경우, 멀티스레딩 및 비동기 지원을 구현하여 성능을 향상시키십시오.

이미지 전처리 : 원본 문서의 품질에 문제가 있는 경우 OCR 처리 전에 이미지 보정 필터를 적용하십시오. 필터 마법사를 사용하면 최적의 전처리 설정을 찾을 수 있습니다.

영역별 OCR : 혼합 콘텐츠가 포함된 문서의 경우, 이미지의 특정 영역 OCR 기법을 사용하여 사용자 지정 언어가 포함된 특정 영역에 집중할 수 있습니다.

사용자 지정 언어 OCR을 통해 어떤 결과를 기대할 수 있나요?

Tesseract OCR 출력 결과가 터미널 인터페이스에 Apex Legends 게임 기능에 대한 추출된 텍스트를 보여줍니다.

이 출력은 사용자 정의 언어 모델의 결과를 보여줍니다. IronOCR은 올바른 학습 데이터를 제공함으로써 텍스트를 성공적으로 해독했으며, 결과는 평이한 영어로 되어 있습니다. 또한, 이것은 코드가 생성한 텍스트 출력입니다.

사용자 지정 언어 OCR의 정확도는 여러 요인에 따라 달라집니다.

  • 학습 데이터 품질 : 더 나은 학습 데이터는 더 나은 결과를 가져옵니다.
  • 문서 일관성 : 학습 데이터와 일치하는 문서가 가장 좋은 성능을 보입니다.
  • 이미지 해상도 : DPI가 높을수록 더 정확한 결과를 얻을 수 있습니다. DPI 설정 가이드를 참조하세요.

사용자 정의 언어 구현을 위한 모범 사례

실제 운영 환경에서 사용자 지정 언어 OCR을 구현할 때 다음과 같은 모범 사례를 고려하십시오.

오류 처리 및 검증: 항상 .traineddata 파일이 존재하고 접근 가능한지 확인한 후 로드를 시도하십시오. 사용자 정의 언어 파일이 누락되었거나 손상된 경우에 대비하여 적절한 오류 처리를 구현하십시오.

성능 최적화 : 사용자 지정 언어 모델은 표준 언어 팩보다 클 수 있습니다. 최적의 성능을 위해:

표준 언어와의 결합 : 문서에 사용자 지정 언어와 표준 언어가 모두 포함된 경우 여러 언어를 동시에 로드할 수 있습니다. 이 기능은 특히 내용이 혼합된 문서에 유용합니다.

테스트 및 검증 : OCR 정확도를 검증하기 위한 테스트 프레임워크를 구축합니다.

고급 사용 사례

사용자 지정 언어 OCR은 수많은 가능성을 열어줍니다.

역사 문서 보존 : 고대 필사본이나 사멸된 문자로 쓰인 문서를 디지털화합니다.
특수 표기법 시스템 : 수학 방정식, 악보 또는 기술 도면을 처리합니다. 자세한 내용 은 방정식 문제 해결 가이드를 참조하십시오.
보안 응용 분야 : 독자적인 암호화 시스템 또는 암호를 해독합니다.
접근성 : 특수 점자 또는 촉각 문자 체계를 표준 텍스트로 변환합니다.

보다 고급 시나리오의 경우, Tesseract 5와 함께 IronOCR의 다양한 기능을 보여주는 포괄적인 코드 예제를 참조하십시오.

자주 묻는 질문

사용자 지정 언어 또는 스크립트가 포함된 문서에 대해 OCR을 수행하려면 어떻게 해야 합니까?

IronOCR은 UseCustomTesseractLanguageFile 메서드를 통해 Tesseract .traineddata 파일을 로드하여 사용자 지정 언어 OCR을 지원합니다. 이를 통해 특수 문자, 역사 문서 또는 암호를 포함하여 사용자 지정으로 학습된 모든 언어 모델에서 텍스트를 추출할 수 있습니다.

사용자 지정 언어 인식을 위해서는 어떤 파일 형식이 필요합니까?

IronOCR은 사용자 지정 언어의 학습 데이터가 포함된 .traineddata 파일을 필요로 합니다. 이 파일은 UseCustomTesseractLanguageFile 메서드를 사용하여 로드되며, Tesseract가 사용자 지정 언어의 고유 문자를 인식하는 데 필요한 모든 정보를 포함합니다.

하나의 OCR 작업에서 여러 개의 사용자 지정 언어를 사용할 수 있습니까?

네, IronOCR은 다국어 인식을 지원합니다. 여러 개의 사용자 지정 언어 파일을 불러오거나, IronOCR에서 기본적으로 지원하는 125개 국제 언어와 사용자 지정 언어를 조합하여 사용할 수 있습니다.

어떤 유형의 사용자 지정 스크립트를 인식할 수 있습니까?

IronOCR은 .traineddata 파일로 제대로 학습된 모든 사용자 지정 문자를 인식할 수 있습니다. 여기에는 역사적인 문자, 인공 언어, 특수 표기 체계 및 암호가 포함됩니다. 이러한 유연성은 Tesseract 도구를 사용하여 학습할 수 있는 모든 문자 체계에까지 확장됩니다.

C# 애플리케이션에서 사용자 지정 언어 OCR을 구현하는 방법은 무엇인가요?

IronOCR을 사용하여 사용자 지정 언어 OCR을 구현하려면 다음 단계를 따르세요. 1) IronTesseract 인스턴스를 초기화합니다. 2) UseCustomTesseractLanguageFile 메서드를 사용하여 사용자 지정 .traineddata 파일을 로드합니다. 3) OcrInput 객체를 생성하고 문서를 로드합니다. 4) Read() 메서드를 호출하여 텍스트를 추출합니다. 5) 추출된 텍스트를 필요에 따라 처리합니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 5,525,971 | 버전: 2026.3 방금 출시되었습니다
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronOcr
샘플을 실행하세요 이미지가 검색 가능한 텍스트로 바뀌는 것을 확인해 보세요.