테서랙트

테서랙트(Tesseract)는 다양한 운영 체제를 위한 광학 문자 인식 엔진이다. 이 소프트웨어는 Apache License, 버전 2.0,에 따라 배포되는 자유 소프트웨어이며 2006년부터 Google에서 개발을 후원했다.
2006년 테서랙트는 당시 가장 정확한 오픈 소스 OCR 엔진 중 하나로 간주되었다.

**역사**
테서랙트 엔진은 원래 영국의 브리스틀과 콜로라도의 Greeley에 있는 휴렛 팩커드 연구소에서 1985년에서 1994년 사이에 독점 소프트웨어로 개발되었으며, 1996년에는 Windows로, 일부는 1998년에 C에서 C++로 마이그레이션되었다. 대부분의 코드가 C로 작성되었고 일부 코드는 C++로 작성되었다. 그 이후로 모든 코드는 최소한 C++ 컴파일러로 컴파일되도록 변환되었다. 다음 10년 동안 거의 작업이 이루어지지 않았다. 그런 다음 휴렛 팩커드와 라스베이거스(UNLV)의 네바다 대학교에서 2005년 오픈 소스로 출시했다. 테서랙트 개발은 2006년부터 구글에서 후원하고 있다.

**특징**
테서랙트는 1995년 문자 정확도 측면에서 3대 OCR 엔진에 속했다. Linux, 윈도우 및 Mac OS X에서 사용할 수 있다. 그러나 제한된 리소스로 인해 Windows 및 Ubuntu에서 개발자가 엄격하게 테스트한다.
버전 2 이하의 테서랙트는 간단한 단일 열 텍스트의 TIFF 이미지만 입력으로 허용할 수 있었다. 이 초기 버전에는 레이아웃 분석이 포함되지 않았으므로 여러 열로 된 텍스트, 이미지 또는 방정식을 입력하면 왜곡된 출력이 만들어졌다. 버전 3.00부터 테서랙트는 출력 텍스트 형식, hOCR 위치 정보 및 페이지 레이아웃 분석을 지원했다. Leptonica 라이브러리를 사용하여 여러 가지 새로운 이미지 형식에 대한 지원이 추가되었다. Tesseract는 텍스트가 단일 간격인지 또는 비례 간격인지 감지할 수 있다.
테서랙트의 초기 버전은 영어 텍스트만 인식할 수 있었다. 테서랙트 v2는 6개의 추가 서구 언 (프랑스어, 이탈리아어, 독일어, 스페인어, 브라질 포르투갈어, 네덜란드어)를 추가했다. 표의 문자 (중국어 및 일본어) 및 오른쪽에서 왼쪽(예 : 아랍어, 히브리어) 언어 및 더 많은 스크립트를 포함해서 확대 지원된다. 새로운 언어에는 아랍어, 불가리아어, 카탈로니아어, 중국어(간체 및 번체), 크로아티아어, 체코어, 덴마크어, 독일어(프락투어 스크립트), 그리스어, 핀란드어, 히브리어, 힌디어, 헝가리어, 인도네시아어, 일본어, 한국어, 라트비아어, 리투아니아어, 노르웨이어, 폴란드어, 포르투갈어, 루마니아어, 러시아어, 세르비아어, 슬로바키아어(표준 및 Fraktur 스크립트), 슬로베니아어, 스웨덴어, 타갈로그어, 타밀어, 태국어, 터키어, 우크라이나어 및 베트남어가 포함된다. 2015년 7월에 릴리스된 V3.04는 39개 언어/스크립트 조합을 추가하여 총 지원 언어 수를 100개 이상으로 늘렸다. 새로운 언어 코드로 포함된 언어이다: amh(암하라어), asm(아삼어), aze_cyrl(키릴 문자의 아제르바이잔), bod(티벳어), bos(보스니아어), ceb(세부아노어), cym(웨일스 어), dzo(종카어), fas( 페르시아어), gle(아일랜드어), guj(구자라트 어), hat(아이티어 및 아이 티크리올어), iku(이누이트어), jav(자와어), kat(조지아어), kat_old(올드 조지아어), kaz(카자흐어), khm(중부 크메르어), Kir(키르기스어), kur(쿠르드어), lao(라오어), lat(라틴어), mar(마라티어), mya(버마어), nep(네팔어), ori(오리야어), pan(펀자브어), pus(파슈토어), san(산스크리트어), sin(싱할라어), srp_latn(라틴어 스크립트의 세르비아어), syr(시리아어), tgk(타지크어), tir(티그리냐어), uig(위구르워), urd(우르두어), uzb(우즈베크어), uzb_cyrl (키릴 문자로 된 우즈베크어), yid (이디시어).
또한 테서랙트는 다른 언어로 작동하도록 훈련될 수 있다.
테서랙트는 아랍어 또는 히브리어와 같은 오른쪽에서 왼쪽으로의 텍스트, 많은 인도어 스크립트 및 CJK를 상당히 잘 처리할 수 있다. 레이 스미스의 DAS 2016, 산토리니의 테서랙트 튜토리얼에 대한 이 프레젠테이션에는 정확도가 표시된다.
테서랙트는 백엔드로 사용하기에 적합하며 OCRopus와 같은 프론트 엔드를 사용하여 레이아웃 분석을 포함하여 보다 복잡한 OCR 작업에 사용할 수 있다.
입력 이미지가 이미지에 맞게 사전 처리되지 않은 경우 테서랙트의 출력 품질이 매우 떨어진다. 텍스트의 x-높이가 20픽셀 이상이 되도록 이미지(특히 스크린 샷 )의 크기를 조정해야 한다. 회전 또는 기울어짐을 수정해야 한다. 또는 텍스트가 인식되지 않거나, 저주파수의 밝기 변화가 고역 필터링되어야 하거나, 테서랙트의 이진화 단계가 많은 페이지를 파괴하고, 어두운 테두리를 수동으로 제거해야 한다. 그렇지 않으면 문자로 잘못 해석된다.

**버전 4**
버전 4에는 많은 추가 언어 및 스크립트에 대한 LSTM 기반 OCR 엔진 및 모델이 추가되어 총 116개의 언어가 제공된다.
또한 37개 언어의 스크립트가 지원되므로 작성된 스크립트를 사용하여 언어를 인식할 수 있다.

**사용자 인터페이스**
OCRFeeder의 Tesseract 구성 창 
테서랙트는 명령행 인터페이스에서 실행된다. 테서랙트에는 GUI가 제공되지 않지만 GUI를 제공하는 별도의 프로젝트가 많이 있다. 일반적인 예는 OCRFeeder이다.

**인식**
테서랙트에 대한 2007년 7월 기사에서 리눅스 저널의 앤서니 케이는 "뛰어난 작업을 수행하는 기발한 명령 줄 도구"라고 했다. 당시 그는 "테서랙트는 기본 OCR 엔진이다. 빌드 프로세스는 다소 기발하고 엔진에는 레이아웃 감지와 같은 몇 가지 추가 기능이 필요하지만 핵심 기능인 텍스트 인식은 오픈 소스 커뮤니티에서 시도한 것보다 훨씬 뛰어나다. "GIMP 및 Netpbm과 같은 일부 이미지 도구와 스캐너를 사용하면 뛰어난 인식률을 얻는 것이 상당히 쉽다."

**같이 보기**
 TIFF

**각주**

**외부 링크**
  해킹 Tesseract V0.04 – Doxyfied 소스 코드에서 추출한 Tesseract의 C / C ++ 구조 (Tesseract V1.03 기반)-  Tesseract OCR 엔진 Tesseract OCR 엔진 개요.
분류:아파치 라이선스 소프트웨어
분류:구글의 소프트웨어
분류:광학 문자 인식
분류:C++로 작성된 자유 소프트웨어
분류:C로 작성된 자유 소프트웨어