푸터 콘텐츠로 바로가기
IRONOCR 사용

Tesseract OCR을 이용한 다국어 학습 (개발자 튜토리얼)

OCR은 다양한 성격의 문서를 편집 가능하고 검색 가능한 데이터로 바꾸는 데 사용되는 기술입니다. 그것은 스캔된 이미지, PDF 파일 및 디지털 카메라 사진을 편집 및 검색 가능한 데이터로 바꿉니다. 이 기술은 인쇄된 문서를 편집, 검색 및 저장을 위해 디지털 형식으로 변환하는 데 광범위하게 사용되어 문서가 차지하는 물리적 공간을 줄입니다. OCR은 데이터 입력 자동화에서 큰 역할을 하며, 이를 통해 기업과 조직은 인력 자원이 사용한 노동을 줄여 많은 시간을 절약합니다.

이는 고급 머신 러닝 기술과 패턴 인식을 사용하여 이미지에서 텍스트를 정확하게 추출하는 과정입니다. OCR와 관련된 최신 개발은 그 정확성을 높여 더 많은 언어와 아랍 문자를 포함한 복잡한 스크립트를 지원합니다. 금융, 건강, 법률 및 교육에서 매우 필요한 OCR는 여러 인쇄된 문서를 빠르게 처리하는 것이 필수인 곳에서 필수적인 도구로 등장했습니다. 이 기사에서는 여러 언어의 데이터를 사용하여 이미지를 OCR로 처리할 것이며 Tesseract를 사용합니다.

Tesseract OCR을 여러 언어와 함께 사용하는 방법

  1. 먼저, .NET 프로젝트 내에 IronOCR/Tesseract NuGet 패키지를 설치하세요.
  2. OCR 엔진을 초기화하는 IronTesseract 클래스의 인스턴스를 생성하세요.
  3. 언어 속성은 두 개 이상의 언어를 지원합니다.
  4. 처리하고자 하는 이미지 파일 경로를 지정한 후, OcrInput 객체를 생성하세요.
  5. 이제, IronTesseract 인스턴스의 Read 함수를 사용하여 입력 이미지에 OCR을 수행하세요.
  6. 결과를 받고 인식된 텍스트를 표시합니다.

Tesseract란?

Tesseract는 Hewlett-Packard에서 개발하고 나중에 Google이 유지 관리한 오픈 소스 광학 문자 인식 엔진입니다. 높은 정확도와 적응성으로 유명하여 가장 두드러진 OCR 중 하나가 되었습니다. Tesseract는 스크립트 감지를 지원하고 여러 언어로 된 텍스트를 인식하며 여러 언어를 처리할 수 있습니다; 따라서 일반적으로 다국어 문서와 지원이 필요한 프로젝트에 사용됩니다.

Tesseract OCR 엔진은 이미지의 단일 픽셀에 포함된 정보를 기반으로 작동하며, 결국 기계가 읽을 수 있는 텍스트로 변환되는 문자, 단어 및 문장을 나타내는 패턴을 따릅니다. 많은 이미지 파일 유형을 지원하는 TIFF, JPEG, PNG 같은 파일 덕분에 Tesseract는 일반 텍스트, HTML 및 검색 가능한 PDF 형식으로 텍스트를 생성할 수 있습니다.

Tesseract의 주요 장점 중 하나는 특별한 폰트나 새로 추가된 언어에 민감하도록 훈련될 수 있다는 것입니다. 또한 간단한 텍스트 추출에서 역사적 문서의 디지털화, 송장 처리, 심지어 시각 장애인을 위한 읽기 기능을 제공하는 접근성 소프트웨어에 이르기까지 다양한 응용 프로그램에서 자주 사용됩니다.

Visual Studio에서 새 프로젝트 생성하기

Visual Studio 프로그램을 엽니다. 프로그램을 열면 '파일 메뉴'로 진행합니다. '파일 메뉴' 아래에는 '새 프로젝트'라는 옵션이 있습니다. '새 프로젝트' 아래에서 '콘솔 응용 프로그램'을 클릭합니다. 이 포스트에서 우리는 콘솔 프로그램을 사용하여 PDF 문서를 생성할 것입니다.

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 1 - 새 프로젝트 생성

제공된 텍스트 상자에 프로젝트 이름과 파일 위치를 입력합니다. 그런 다음 아래 이미지에 표시된 대로 Create 버튼을 클릭하고 필요한 .NET Framework를 선택합니다.

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 2 - 프로젝트 및 저장 위치 제공과 함께 .NET Framework 선택

이제 응용 프로그램 버전을 선택했으면, Visual Studio 프로젝트에서 그 구조를 생성할 것입니다. 콘솔, Windows 또는 웹 버전을 선택한 경우, 코드를 추가하고 응용 프로그램을 빌드/실행하기 위해 program.cs 파일이 열립니다.

.NET용 Tesseract OCR 설치

첫 번째 단계는 컴퓨터에 Tesseract OCR 소프트웨어를 다운로드하여 설치하는 것입니다. 여기에 Tesseract 설치 프로그램이 포함된 공식 Tesseract GitHub 리포지토리가 있습니다: https://github.com/tesseract-ocr/tesseract.

특정 운영 체제에 맞는 설정 지침을 따라 Tesseract OCR을 컴퓨터에 설치하는 것이 가장 좋습니다—Windows, macOS, 또는 Linux에 관계 없이. 설치가 완료되면, Visual Studio의 NuGet 패키지 관리자를 사용하여 C# 프로젝트에 Tesseract.NET 패키지를 추가합니다.

Visual Studio 프로젝트에서 도구 -> NuGet 패키지 관리자 -> 솔루션용 NuGet 패키지 관리에서 NuGet 패키지 관리자를 엽니다. 그 후, NuGet 패키지 관리자에서 'Tesseract'를 검색하여 'Tesseract' 또는 'Tesseract.NET' 패키지를 구합니다. 이 패키지를 선택하고 설치 버튼을 클릭하여 프로젝트에 설치합니다.

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 3 - 브라우즈 탭에서 Tesseract 검색

Tesseract OCR using C#

Tesseract.NET 래퍼를 설치한 후 Tesseract의 실행 파일 및 언어 데이터 파일의 위치를 지정하기 위해 C# 프로젝트에서 Tesseract를 설정해야 합니다. 다음은 예시입니다.

using System;
using System.Drawing;
using Tesseract;

class Program
{
    static void Main()
    {
        // Set the path to the Tesseract data files (traineddata files)
        string tessDataPath = @"./tessdata"; // Ensure this directory contains the language data files

        // Load the image
        string imagePath = @"path_to_your_image.png";
        using (var img = Pix.LoadFromFile(imagePath))
        {
            // Add languages to the Tesseract engine
            using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
            {
                using (var page = engine.Process(img))
                {
                    // Extract the text
                    string text = page.GetText();
                    Console.WriteLine("Recognized Text:");
                    Console.WriteLine(text);
                }
            }
        }
    }
}
using System;
using System.Drawing;
using Tesseract;

class Program
{
    static void Main()
    {
        // Set the path to the Tesseract data files (traineddata files)
        string tessDataPath = @"./tessdata"; // Ensure this directory contains the language data files

        // Load the image
        string imagePath = @"path_to_your_image.png";
        using (var img = Pix.LoadFromFile(imagePath))
        {
            // Add languages to the Tesseract engine
            using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
            {
                using (var page = engine.Process(img))
                {
                    // Extract the text
                    string text = page.GetText();
                    Console.WriteLine("Recognized Text:");
                    Console.WriteLine(text);
                }
            }
        }
    }
}
$vbLabelText   $csharpLabel

위 코드는 Tesseract OCR이 여러 언어를 포함하는 이미지에서 텍스트를 감지하고 추출할 수 있는 방법을 설명합니다. 처음에는 Tesseract 언어 데이터 파일의 경로를 설정합니다. 영어, 스페인어 및 프랑스어 같은 각 해당 언어의 필수 .traineddata 파일은 경로에 있어야 합니다.

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 4 - 입력 예

Pix.LoadFromFile 메소드를 사용하여 imagePath에 명시된 이미지를 로드합니다. 더 구체적으로, 영어, 스페인어 및 프랑스어 텍스트가 포함된 이미지를 기대할 수 있습니다. 그런 다음 TesseractEngine의 인스턴스가 언어 데이터 파일 경로와 관심 있는 언어 "eng+spa+fra"를 사용하여 초기화되어 텍스트를 인식합니다. 엔진은 기본 모드로 작동할 것입니다.

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 5 - 콘솔 출력 예

그런 다음 이미지는 엔진 클래스의 Process 메소드를 사용하여 처리되며, 분석되고 추출된 텍스트 내용은 text 변수에 저장됩니다. 추출된 텍스트는 콘솔에 출력되어 OCR의 작동 방식을 시각화합니다.

IronOCR 는 무엇인가요?

IronOCR는 .NET에 중점을 둔 독자적인 OCR 라이브러리입니다. .NET 애플리케이션에 OCR 기능을 추가하여 이미지, 스캔한 문서, PDF, 및 기타 모든 시각적 미디어의 텍스트를 추출할 수 있습니다. 최첨단 텍스트 인식을 주도하는 Tesseract 엔진을 기반으로, IronOCR는 Enterprise 애플리케이션 사용에 적합하도록 추가 기능을 포함합니다.

IronOCR는 120개 이상의 언어를 지원하며, 자동 언어 감지 및 다국어 문서 처리가 가능합니다. 이로 인해 IronOCR는 매우 다양하게 활용될 수 있으며, 다국어 문서 처리가 필요한 전 세계 곳곳에서 배포될 수 있습니다.

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 6 - IronOCR: C# OCR 라이브러리

다른 한편으로, IronOCR는 사용 및 통합의 간단함을 강조합니다. 매우 사용하기 쉬운 API에는 자세한 문서와 예제 프로젝트 세트가 포함되어 있어 개발자가 빠르게 시작할 수 있도록 도와줍니다. 다양한 이미지 형식과 PDF 문서를 지원합니다. 내장된 고급 이미지 전처리, 노이즈 감소 및 오류 수정 기능으로 OCR 정확도와 성능이 향상됩니다.

IronOCR 설치

Visual Studio의 NuGet 패키지 관리 도구를 사용하여 솔루션에 직접 패키지를 설치할 수 있습니다. 다음 스냅샷은 어떻게 NuGet 패키지 관리자를 여는지를 보여줍니다.

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 7 - Visual Studio를 통해 NuGet 패키지 관리자에 접근하는 방법

임베디드 검색 상자가 있으며, 이는 NuGet 웹사이트에서 패키지 목록을 표시합니다. 아래 스크린샷에서 보듯이, 우리는 패키지 관리자에서 IronOCR라는 문구를 검색할 것입니다:

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 8 - 솔루션 탐색기에서 IronOCR 검색

검색 결과는 잠재적인 솔루션 목록을 제공할 수 있습니다. 설치를 위해 필요한 솔루션 패키지를 선택해야 합니다.

예를 들어, 아래 예제를 위해 필요한 Tesseract 언어 팩을 하나씩 설치하세요.

이 예제에서는 스페인어, 프랑스어, 영어 언어 코드를 사용할 것입니다. 영어는 기본 언어 팩이며 설치가 필요하지 않습니다.

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 9 - 프랑스어 언어 Install-Package

NuGet 패키지에서 스페인어를 설치하세요.

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 10 - 스페인어 언어 Install-Package

Tesseract 엔진과 함께 IronOCR로 여러 언어 읽기

다음 예제는 C#과 IronOCR 및 Tesseract 엔진을 사용하여 이미지에서 여러 언어의 텍스트를 인식하는 방법을 보여줍니다.

using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        // Initialize IronTesseract engine
        var Ocr = new IronTesseract();

        // Add multiple languages
        Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;

        // Path to the image
        var inputFile = @"path\to\your\image.png";

        // Read the image and perform OCR
        using (var input = new OcrInput(inputFile))
        {
            // Perform OCR
            var result = Ocr.Read(input);

            // Display the result
            Console.WriteLine("Recognized Text:");
            Console.WriteLine(result.Text);
        }
    }
}
using IronOcr;

class Program
{
    static void Main(string[] args)
    {
        // Initialize IronTesseract engine
        var Ocr = new IronTesseract();

        // Add multiple languages
        Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;

        // Path to the image
        var inputFile = @"path\to\your\image.png";

        // Read the image and perform OCR
        using (var input = new OcrInput(inputFile))
        {
            // Perform OCR
            var result = Ocr.Read(input);

            // Display the result
            Console.WriteLine("Recognized Text:");
            Console.WriteLine(result.Text);
        }
    }
}
$vbLabelText   $csharpLabel

위의 C# 프로그램은 IronOCR 라이브러리를 사용하여 영어, 스페인어, 프랑스어 문자를 포함하는 이미지에서 광학 문자 인식을 수행합니다. 프로그램은 IronOCR에 필요한 네임스페이스를 가져오고, Main 메소드를 통해 애플리케이션의 진입점인 Program라는 클래스를 선언하면서 시작됩니다.

Main 메소드에서는 IronTesseract 클래스의 인스턴스가 생성되어 Ocr 변수에 할당됩니다. Language 속성은 OcrLanguage.English, OcrLanguage.Spanish, OcrLanguage.French를 결합하여 영어, 스페인어, 프랑스어를 포함하도록 설정됩니다. 이로 인해 OCR 엔진은 이 세 가지 언어의 텍스트를 인식하고 처리할 수 있습니다.

입력 이미지 파일의 경로는 inputFile 변수를 사용하여 설정됩니다. 이미지는 OcrInput 클래스의 인스턴스를 사용하여 적절한 리소스 관리와 폐기를 위한 using 문 내에서 로드됩니다. 마지막으로, 입력 객체를 사용하여 IronTesseract 인스턴스의 Read 메소드를 호출하여 이미지에 OCR을 수행합니다.

인식된 텍스트는 Console.WriteLine 메소드를 사용하여 콘솔에 출력됩니다. 이 프로그램은 IronOCR의 다국어 기능을 사용하여 다양한 언어의 단어가 포함된 이미지에서 텍스트를 추출하는 효과적인 방법을 보여줍니다.

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 11 - 인식된 텍스트 출력

왜 IronOCR가 Tesseract 보다 더 나은가?

IronOCR는 Tesseract에 비해 사용이 더 용이하며 몇 가지 장점을 제공합니다. 첫째, IronOCR는 바로 사용할 수 있는 125개의 언어를 포함한 훌륭한 언어 지원을 제공하지만, Tesseract는 최적의 성능을 위해 일부 100개 지원 언어에 복잡한 구성과 추가 학습이 필요할 수 있습니다. 또한, IronOCR는 .NET 애플리케이션에 쉽게 통합되고 포괄적인 문서를 제공합니다.

IronOCR는 Tesseract보다 배우기가 쉽고 기술적인 설정이 덜 필요합니다. 복잡한 문서 유형에서도 정확성과 신뢰성을 높이기 위한 고급 이미지 전처리와 정기 업데이트 기능이 있으며, 철저하고 다용도로 쉽게 적용 가능한 OCR 솔루션을 찾는 개발자에게 적합한 선택입니다.

결론

여러 언어를 위한 Tesseract OCR(개발자 튜토리얼): 그림 12 - IronOCR 라이센스 페이지

Tesseract와 IronOCR 모두 강력한 OCR 기술이지만, 각각은 독특한 기능과 강점을 가지고 있습니다. 오픈 소스인 Tesseract는 무료 솔루션을 찾는 사람들에게 신뢰할 수 있고, 활발한 커뮤니티와 지속적인 개선이 이루어지고 있습니다.

반면, IronOCR는 .NET Framework를 위한 독점 라이브러리로, 쉬운 통합과 대부분의 이미지 파일 형식에 대한 지원을 통해 사용자 경험을 개선합니다. 특히 저품질 이미지 콘텐츠에서도 텍스트 인식 성능이 뛰어납니다. IronOCR는 많은 언어를 완벽하게 지원하고 사용 편의성을 높이는 추가 기능이 포함되어 있습니다.

IronOCR는 비용 효율적인 개발자 에디션을 제공하며 구매 시 평생 라이선스를 제공합니다. IronOCR 패키지는 여러 시스템에서 이용할 수 있는 부가적인 비용 없이 일회성 비용으로 $liteLicense부터 시작하며, 경제적 가치를 제공하고 라이센스를 보유한 사용자에게 24시간 엔지니어 지원을 제공합니다. 자세한 정보는 IronOCR 웹사이트를 참조하세요.

자주 묻는 질문

.NET 프로젝트에서 Tesseract OCR을 여러 언어와 함께 사용하려면 어떻게 해야 하나요?

IronOCR 라이브러리를 사용하면 여러 언어로 된 텍스트가 포함된 이미지를 처리하기 위해 Tesseract OCR을 간편하게 통합할 수 있습니다. .NET 프로젝트에 IronOCR/Tesseract NuGet 패키지를 추가하고 IronTesseract 클래스의 Language 속성을 사용하여 언어를 구성하세요.

IronOCR 표준 Tesseract에 비해 어떤 장점을 제공합니까?

IronOCR .NET 애플리케이션을 위한 더욱 사용자 친화적인 API를 제공하고, 120개 이상의 언어를 기본적으로 지원하며, 정확도 향상을 위한 고급 이미지 전처리 기능을 제공합니다. .NET 프로젝트와 원활하게 통합되며, 개발자를 위한 풍부한 문서와 지원을 제공합니다.

IronOCR 여러 언어로 된 문서를 동시에 처리할 수 있습니까?

네, IronOCR Language 속성에 여러 언어를 설정하여 다국어 문서를 처리할 수 있습니다. 이 기능은 문서에 다양한 언어로 된 텍스트가 포함될 수 있는 글로벌 애플리케이션에 특히 유용합니다.

C# 프로젝트에서 IronOCR 설정하는 과정은 무엇인가요?

C# 프로젝트에서 IronOCR 설정하려면 먼저 Visual Studio의 NuGet 패키지 관리자를 통해 IronOCR/Tesseract NuGet 패키지를 설치합니다. 그런 다음 코드에서 IronTesseract 클래스의 인스턴스를 생성하고 해당 메서드를 사용하여 텍스트가 포함된 이미지를 처리합니다.

IronOCR OCR 결과의 정확도를 어떻게 향상시키나요?

IronOCR 고급 이미지 전처리 기술을 통해 정확도를 향상시킵니다. 이 기술은 텍스트 추출 전에 이미지 품질을 개선하여 다양한 품질의 이미지에서 텍스트를 정확하게 인식할 수 있도록 도와줍니다.

IronOCR 어떤 유형의 문서를 처리할 수 있나요?

IronOCR 스캔 이미지, PDF 파일, 디지털 카메라로 촬영한 사진 등 다양한 유형의 문서를 처리할 수 있습니다. 이러한 문서를 편집 및 검색 가능한 데이터 형식으로 변환해 줍니다.

IronOCR 데이터 입력 작업 자동화에 적합한가요?

네, IronOCR 인쇄된 문서를 디지털 텍스트로 변환하여 데이터 입력을 자동화하는 데 매우 효과적이며, 수작업을 줄이고 시간을 절약해 줍니다. 금융, 의료, 교육 등 다양한 분야에서 널리 사용되고 있습니다.

IronOCR 개발자들이 OCR 기술을 구현하는 데 어떻게 도움을 주나요?

IronOCR 방대한 문서, 사용자 친화적인 API, 연중무휴 24시간 온라인 엔지니어 지원을 제공하여 개발자가 .NET 애플리케이션에 OCR 기술을 더 쉽게 구현할 수 있도록 지원합니다.

IronOCR 의 주요 사용 사례는 무엇입니까?

IronOCR 인쇄된 문서를 디지털화하고, 데이터 입력을 자동화하고, 송장을 처리하고, 시각 장애인을 위한 접근성 소프트웨어를 개발하는 데 사용됩니다. 금융, 의료, 교육 등 다양한 산업 분야에서 활용 가능합니다.

칸나오팟 우돈판트
소프트웨어 엔지니어
카나팟은 소프트웨어 엔지니어가 되기 전 일본 홋카이도 대학교에서 환경 자원학 박사 학위를 취득했습니다. 학위 과정 중에는 생물생산공학과 소속 차량 로봇 연구실에서 활동하기도 했습니다. 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