C# Tesseract 강좌 : 제 2강 - 영문자 판독

C# Tesseract English OCR

C# Tesseract 강좌 : 제 2강 - 영문자 판독
[ C#-Tesseract ] - 윤대희

Tesseract English OCR


1 Tesseract - OCR를 이용하여 Bitmap으로된 이미지 파일에서 영문자를 인식하여 string형식으로 반환하여 인식합니다.



Tesseract 준비


2 1강에서 설치한 Tesseract 언어 데이터 파일프로젝트/bin/Debug에 저장합니다.


Tesseract 설치하기 : 1강 바로가기



3 tessdata 폴더에 위와 같은 eng.* 파일이 정상적으로 저장되어있는지 확인합니다.



프로젝트 구성


4 Form창에 위와 같이 pictureBoxbutton을 배치합니다. pictureBox에 이미지를 등록합니다.



Main


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Tesseract;

namespace tesseract
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Bitmap img = new Bitmap(pictureBox1.Image);
            var ocr = new TesseractEngine("./tessdata", "eng", EngineMode.TesseractAndCube);
            var texts = ocr.Process(img);
            MessageBox.Show(texts.GetText());
        }
    }
}



Main Code


using Tesseract;

namespaceTesseract를 사용할 수 있도록 선언합니다.


Bitmap img = new Bitmap(pictureBox1.Image);

pictureBox1의 이미지를 Bitmap으로 변환하여 img 변수에 저장합니다.


var ocr = new TesseractEngine("./tessdata", "eng", EngineMode.TesseractAndCube);

ocr 변수에 TesseractEngine()을 이용하여 언어 데이터 파일을 사용하여 판독합니다. TesseractEngine(언어 데이터 파일 경로, 언어, 엔진모드)입니다. 영어의 경우 eng입니다.


  • ` EngineMode.*`

    • EngineMode.Default : 기본값으로 판독
    • EngineMode.CubeOnly : 큐브 방식으로 정확도는 높아지지만, 속도가 느림
    • EngineMode.TesseractOnly : Tesseract 방식만 실행하며, 속도가 가장 빠름
    • EngineMode.TesseractAndCube : 큐브와 Tesseract 방식의 결합, 가장 높은 정확도


var texts = ocr.Process(img);
MessageBox.Show(texts.GetText());

textsocr에서 셋팅된 방법으로 img를 이용해 판독할 문자들을 저장합니다. texts.GetText()를 이용하여 string형태로 불러올 수 있습니다.



Result


5



Book Image

개정판이 출간됐습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍 (개정판)

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C#과 파이썬용 OpenCV의 데이터 형식과 행렬 및 배열 연산
  • 이미지/동영상/카메라를 활용한 입출력과 결과 저장
  • 전처리 과정과 정보를 탐색하기 위한 이미지 변형
  • 유의미한 정보를 검출하기 위한 이미지 변환
  • 이미지에서 정보를 검출 및 인식
  • 객체 검출을 포함한 모션 추적
  • K-means, KNN, SVM 등의 머신러닝 알고리즘 적용 방법
  • 카페(Caffe), 다크넷(Darknet), 텐서플로 모델을 활용한 딥러닝 모듈 적용 방법
  • Tesseract-OCR과 C# OpenCvSharp4를 활용한 프로젝트
  • 텐서플로와 Python OpenCV4를 활용한 프로젝트
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post C# Tesseract 강좌 : 제 1강 - Tesseract 설치 ⤧  Next post C# Tesseract 강좌 : 제 3강 - 한글 판독
    C#-Tesseract Category