푸터 콘텐츠로 바로가기
OCR 도구
Windows에서 .NET용 Tesseract OCR을 사용하는 방법

Windows에서 Tesseract OCR 사용하기 (코드 예제 튜토리얼)

Tesseract OCR이란?

Tesseract는 다양한 운영 체제에서 사용할 수 있는 광학 문자 인식 엔진입니다. 이는 아파치 라이선스 하에 배포된 무료 소프트웨어입니다. 이 가이드에서는 Windows 10 기계에 Tesseract를 설치하기 위해 제가 따랐던 단계들을 안내합니다. 주요 버전 5는 현재 안정적인 버전이며, 2021년 11월 30일 버전 5.0.0으로 시작되었습니다.


1단계: .exe 파일을 사용하여 Windows 10에 Tesseract OCR 설치:

언어 데이터를 설치하려면: sudo port install tesseract -<langcode> langcodes의 목록은 MacPorts Tesseract 페이지 Homebrew에 있습니다. Windows용 Tesseract OCR을 설치하는 첫 번째 단계는 기계의 운영 체제에 해당하는 .exe 설치 프로그램을 다운로드하는 것입니다.

2단계: 설치 구성

다음은 Tesseract 설치를 구성해야 합니다. 자신감이 있고 기본 언어가 영어로 설정된 Windows 용 Tesseract OCR을 실행하려는 경우, 모든 기본 옵션이 선택된 상태로 설치 화면을 통해 진행하면 작동할 것입니다.

설치 언어

이것은 대화 상자 및 도움말 정보에 대한 언어일 뿐입니다. 우리가 원한다면, 우리는 여러 언어로 Windows용 Tesseract OCR을 실행할 수 있습니다:

Tesseract Ocr Windows 1 related to 설치 언어

Windows용 Tesseract OCR의 설치 언어

Tesseract OCR 설치 설정

설치 진행을 계속하기 전에 다른 애플리케이션을 모두 닫는 것이 좋다는 설정 화면의 권장 사항입니다.

Tesseract Ocr Windows 2 related to Tesseract OCR 설치 설정

Windows용 Tesseract OCR 설치 화면.

설치 위치 선택

다음은 설치 위치를 선택할 것입니다. . 다음 단계로 진행하기 전에 설치 위치를 .txt 파일에 복사해야 합니다. 설치가 완료되면 설치 위치를 기계의 환경 변수에 추가해야 할 것입니다.

Tesseract Ocr Windows 3 related to 설치 위치 선택

설치 위치를 선택하세요.

구성 요소 선택

기본적으로 ScrollView, 학습 도구, 바로가기 생성, 언어 데이터가 모두 선택됩니다. 이것들을 설치하지 않을 특별한 이유가 없다면, 우리는 모두 선택된 상태로 유지하고 싶습니다.

Tesseract Ocr Windows 4 related to 구성 요소 선택

Windows용 기본 Tesseract OCR 설치 구성 요소.

아래로 스크롤하여 '추가 스크립트 데이터'를 확장하면 추가 스크립트 데이터를 다운로드하고 설치할 수 있는 옵션이 있습니다. 이는 특정 스크립트 언어에서 텍스트 추출의 정확성을 향상시키는 데 도움이 될 수 있습니다. 이것들을 설치할지는 당신에게 달려 있습니다.

Tesseract Ocr Windows 5 related to 구성 요소 선택

선택적 스크립트 설치 구성 요소.

시작 메뉴 폴더 선택

설치의 마지막 단계에서 우리는 Windows용 Tesseract OCR의 바로가기를 위한 시작 메뉴 폴더를 선택하라는 요청을 받을 것입니다. 저는 기본 이름 'Tesseract-OCR'로 설정했습니다.

Tesseract Ocr Windows 6 related to 시작 메뉴 폴더 선택

Windows용 Tesseract OCR의 바로가기를 위한 시작 메뉴 폴더를 선택하십시오.

설치를 클릭하면 Windows용 Tesseract OCR 설치가 시작됩니다. 다음 단계는 설치 경로를 컴퓨터의 환경 변수에 추가하는 것입니다.

3단계: 설치 경로를 환경 변수에 추가

제어판

설치 위치를 환경 변수에 추가하려면 시작 메뉴로 이동하여 '환경 변수'를 검색하십시오. 시스템 환경 변수를 편집하기 위한 결과를 봐야 합니다. 그렇지 않으면 다음 단계를 사용할 수 있습니다: 시작 메뉴 > 제어판 > 시스템 환경 변수 편집.

Tesseract Ocr Windows 7 related to 제어판

'환경 변수' 검색 중

시스템 속성

'시스템 속성' 대화 상자가 나타나면 고급 탭이 클릭되었는지 확인한 후 화면의 오른쪽 하단에 있는 환경 변수 버튼을 클릭합니다.

Tesseract Ocr Windows 8 related to 시스템 속성

환경 변수

시스템 변수에서 편집 버튼을 클릭합니다.

Tesseract Ocr Windows 9 related to 환경 변수

환경 변수 편집 화면이 나타나면 새로 만들기 버튼을 클릭하여 2단계에서 복사한 Tesseract OCR 설치 경로를 붙여 넣습니다. 이것을 완료한 후 '확인' 버튼을 클릭합니다.

환경 변수에 Tesseract OCR for Windows 설치 디렉터리 추가

Tesseract Ocr Windows 10 related to 환경 변수에 Tesseract OCR for Windows 설치 디렉터리 추가

이게 전부입니다! .exe 설치 프로그램을 실행하고 Windows용 Tesseract OCR 설치 위치를 환경 변수에 추가했으므로 테스트 이미지에서 Tesseract를 실행하여 설치가 작동하는지 테스트할 수 있습니다.

4단계: 테스트 이미지에서 Windows용 Tesseract OCR 실행

Windows용 Tesseract OCR이 성공적으로 설치되었는지 테스트하려면 컴퓨터에서 명령 프롬프트를 열고 Tesseract 명령을 실행하십시오. Tesseract의 사용 옵션에 대한 간단한 설명을 포함한 출력을 봐야 합니다.

Tesseract Ocr Windows 11 related to 4단계: 테스트 이미지에서 Windows용 Tesseract OCR 실행

Windows용 Tesseract OCR의 성공적인 설치 확인 중

축하해요! Windows용 Tesseract OCR이 컴퓨터에 성공적으로 설치되었습니다.


IronOCR을 사용하여 OCR 작업 수행의 장점:

IronOCR provides Tesseract OCR on Mac, Windows, Linux, Azure and Docker for:

.NET Framework 4.0 + .NET Standard 2.0 + .NET Core 2.0 + .NET 5

  • macOS와 Linux용 Mono
  • macOS용 Xamarin

IronOCR은 최신 Tesseract 5 엔진을 사용하여 모든 주요 이미지 및 PDF 형식에서 텍스트, 바코드, QR 코드를 읽습니다. 이 라이브러리는 몇 분 만에 데스크탑, 콘솔 및 웹 응용 프로그램에 OCR 기능을 추가합니다. 125개 이상의 국제 언어를 지원합니다. Licenses start from $799.

1단계: IronOCR 최신 버전 설치

DLL 설치

Download the IronOcr DLL directly to your machine.

NuGet 설치

대안으로, 다음 명령으로 NuGet을 통해 설치할 수 있습니다:

Install-Package IronOcr

2단계: 라이선스 키를 적용하세요

코드를 사용하여 IronOCR 라이선스 키 설정하기

IronOCR를 사용하기 전에 응용 프로그램 시작에 이 코드를 추가하십시오.

IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
$vbLabelText   $csharpLabel

3단계: 키 테스트

키가 올바르게 설치되었는지 테스트하세요.

bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
$vbLabelText   $csharpLabel

프로젝트 시작하기

// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
$vbLabelText   $csharpLabel

C#에서 .NET을 위한 Tesseract OCR 사용 방법?

  • Visual Studio에 Google Tesseract 및 IronOCR for .NET 설치
  • C#의 최신 빌드 확인하기
  • 정확성과 이미지 호환성 검토
  • 성능과 API 기능 테스트
  • 다국어 지원 고려

Code Example for .NET OCR Usage — Extract Text from Images in C#

NuGet 패키지 관리자를 사용하여 IronOCR NuGet 패키지를 Visual Studio 솔루션에 설치하십시오.

// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
$vbLabelText   $csharpLabel

IronOCR Tesseract for C#

IronOCR와 함께라면 모든 Tesseract 설치가 NuGet 패키지 관리자를 사용하여 완전히 이루어집니다.

Install-Package IronOcr

IronOCR Tesseract에서의 Tesseract 5 API

현재까지 IronTesseract는 .NET Framework 또는 Core에 대한 Tesseract 5의 유일한 구현체입니다.

// using IronOcr;

var Ocr = new IronTesseract(); // nothing to configure

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
// using IronOcr;

var Ocr = new IronTesseract(); // nothing to configure

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
$vbLabelText   $csharpLabel

IronOCR Tesseract에서의 Tesseract 4 API

// using IronOcr;

var Ocr = new IronTesseract();

// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
// using IronOcr;

var Ocr = new IronTesseract();

// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
$vbLabelText   $csharpLabel

왜 IronOCR이 Tesseract보다 나은가:

정확성

TESSERACT:

Tesseract가 회전되거나 기울어지거나 DPI가 낮거나 스캔된 이미지 또는 배경 잡음이 있는 이미지를 마주하면, Tesseract가 그 이미지에서 데이터를 얻는 것은 거의 불가능해집니다. 게다가, Tesseract는 해당 문서를 처리하는 데 매우 오랜 시간이 걸리며, 그 후에 비논리적인 정보를 제공합니다.

IRONOCR:

IronOCR은 이러한 두통을 해소해줍니다. 사용자들은 최소한의 설정으로도 99.8-100%의 정확도를 자주 달성합니다.

이미지 호환성

TESSERACT:

단순히 Leptonica PIX 이미지 형식만을 받아들이며, 이는 C#의 IntPtr C++ 객체입니다. PIX 객체는 관리되지 않는 메모리이며, 이를 C#에서 주의 깊게 처리하지 않으면 메모리 누수가 발생합니다.

IRONOCR:

이미지는 메모리 관리됩니다. PDF 및 Tiff 지원. 모든 파일 형식에 대해 System.Drawing, Stream 및 Byte Array를 포함합니다.

광범위한 이미지 지원:

  • PDF 문서
  • PDF 페이지
  • 다중 프레임 TIFF 파일
  • JPEG 및 JPEG2000
  • GIF
  • PNG
  • System.Drawing.Image
  • 이진 이미지 데이터 (byte [])
  • 그리고 더 많은 것들...

성능

TESSERACT:

Google Tesseract는 제대로 조정되고 입력 이미지가 Photoshop 또는 ImageMagick을 사용하여 전처리된 경우 빠르고 정확한 결과를 제공할 수 있습니다.

IRONOCR:

IronOcr .NET Tesseract DLL은 대부분의 이미지에 대해 바로 정확하고 빠른 작업을 수행합니다. 다중 프로세서가 이제 대부분의 머신에서 사용되므로 다중 스레드를 구현했습니다. 해상도가 낮은 이미지조차도 일반적으로 프로그램에서 높은 정확도로 작동합니다. Photoshop 필요 없음.

API

TESSERACT:

우리는 두 가지 무료 선택지를 제공합니다:

  • Interop 레이어와 작업하기 — GitHub에 있는 많은 것이 이전 상태이며, 해결되지 않은 티켓, 메모리 누수 및 콘솔 경고가 있습니다. .NET Core 또는 Standard를 지원하지 않을 수 있습니다.
  • 명령줄 EXE와 작업하기 — 배포하기 어렵고 바이러스 스캐너와 보안 정책에 의해 지속적으로 중단됩니다.

IRONOCR:

IronTesseract라는 Tesseract에 대한 관리되고 테스트된 .NET 라이브러리입니다.

IntelliSense 지원과 함께 완전히 문서화되었습니다.

언어

TESSERACT:

단지 100개 언어를 지원합니다.

IRONOCR:

125개 이상의 언어를 지원합니다.


결론

Tesseract는 C++ 개발자에게 훌륭한 리소스이지만, .NET 용 완전한 OCR 라이브러리는 아닙니다. 스캔되거나 촬영된 이미지는 Tesseract가 정확히 작업할 수 있도록 직교적이고, 표준화되며, 고해상도이고, 디지털 잡음이 없는 상태로 처리되어야 합니다.

반면 IronOCR 단 한 줄의 코드로 이 모든 것을 비롯한 더 많은 작업을 수행할 수 있습니다. It is true that IronOCR uses Tesseract for its internal OCR engine, a very finely-tuned Tesseract, built for C#, with a lot of performance improvements and features added as standard.

칸나오팟 우돈판트
소프트웨어 엔지니어
카나팟은 소프트웨어 엔지니어가 되기 전 일본 홋카이도 대학교에서 환경 자원학 박사 학위를 취득했습니다. 학위 과정 중에는 생물생산공학과 소속 차량 로봇 연구실에서 활동하기도 했습니다. 2022년에는 C# 기술을 활용하여 Iron Software의 엔지니어링 팀에 합류했고, 현재 IronPDF 개발에 집중하고 있습니다. 카나팟은 IronPDF에 사용되는 대부분의 코드를 직접 작성하는 개발자로부터 배울 수 있다는 점에 만족하며, 동료들과의 소통을 통해 배우는 것 외에도 Iron Software에서 일하는 즐거움을 누리고 있습니다. 코딩이나 문서 작업을 하지 않을 때는 주로 PS5로 게임을 하거나 The Last of Us를 다시 시청하는 것을 즐깁니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me