[ C# ] 씨샵 이미지 텍스트 인식 테서랙트 OCR 패키지 설치 및 사용법 - Tesseract OCR

[ C# ] 씨샵 이미지 텍스트 인식 테서랙트 OCR 패키지 설치 및 사용법 - Tesseract OCR



1. C# 신규 프로젝트 생성

    - 콘솔 또는 윈폼 생성



2. 솔루션용 NuGet 패키지 관리

    - 도구 [선택]
    - NuGet 패키지 관리자 [선택]
    - 솔루션용 NuGet 패키지 관리 [실행]



3. Tesseract 찾아보기

    - 찾아보기 [선택]
    - Tesseract [검색]
    - Tesseract [선택]



4. Tesseract 패키지 설치

    - 프로젝트 [선택]
    - 설치 [실행]



5. Tesseract 설치 확인

    - 출력 창 완료 [확인]
    - 솔루션 탐색기 > 프로젝트 > 참조 > Tesseract [확인]




6. 데이터 폴더 생성

    - 프로젝트 폴더 [선택]
    - 데이터 보관 폴더 [생성]



7. Tesseract 전용 폰트 및 이미지 파일 보관

    - Tesseract 폰트 다운로드 [복사]
    - 폰트가 존재하는 이미지 [복사]



8. 프로젝트 경로 및 이미지 경로




9. Tesseract 데모 코드 일부




10. 전체 소스 첨부




##### ALL CODE #####

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            // 프로젝트 경로
            string szProjectPath = System.IO.Directory.GetParent(System.Environment.CurrentDirectory).Parent.FullName;
            string szTesseractDataPath = szProjectPath + @"\TesseractData";

            // 이미지 경로
            string szImagePath = szTesseractDataPath + @"\phototest.tif";

            // 폰트 파일 선택 및 검사 모드 선택
            using (Tesseract.TesseractEngine tesseractEngine = new Tesseract.TesseractEngine(szTesseractDataPath, "eng", Tesseract.EngineMode.Default))
            {
                // 이미지 Tesseract 최적화 적용
                using (Tesseract.Pix pix = Tesseract.Pix.LoadFromFile(szImagePath))
                {
                    // 이미지 OCR 검사
                    using (Tesseract.Page page = tesseractEngine.Process(pix))
                    {
                        // OCR 데이터 입력
                        string szText = page.GetText();

                        // 성적 출력
                        Console.WriteLine("Mean confidence: {0}", page.GetMeanConfidence());
                        // 내용 출력
                        Console.WriteLine("Text (GetText): \r\n{0}", szText);
                    }
                }
            }
            // 종료
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}




댓글