Linux 시스템의 OCR

Linux 시스템의 OCR

나는 항상 찾았습니다.OCR 기술오픈 소스 시스템에 뒤처져 있습니다. 나도 봤다오크로퍼스 프로젝트초기부터. 저는 Linux에서 사용할 수 있는 최고의 OCR 엔진이라고 들었던 것을 사용해 보았습니다.테서렉트, 비즈니스 문서에는 턱없이 부족하다는 사실을 발견했습니다. 더 유망한 OCR 구현이 있습니까? 손글씨를 해석하는 데 있어서 더욱 희망적인 목표는 무엇입니까? 이 분야의 *nix 시스템에서는 무엇이 가능합니까?

답변1

테서렉트

2020년 현재 최고의 오픈 소스 OCR 소프트웨어는 다음과 같습니다.테서렉트 4그것의 새로운LSTM 신경망 OCR 모델. OCR 성능은 버전 3에서 사용된 이전 OCR 모델보다 훨씬 좋습니다.

output.pdf예( 스캔한 독일어 문서에 대해 텍스트 레이어가 포함된 PDF 파일 생성 ):

$ echo page-*.png > input.list
$ tesseract --oem 1 -l deu input.list output pdf

( --oem 1LSTM 엔진 활성화)

인식된 텍스트를 stdout으로 인쇄합니다.

$ tesseract --oem 1 -l deu page page-0001.png stdout

설치된 언어 목록:

$ tesseract --list-langs

꽤 많은 언어/스크립트에 대한 지원이 다운로드 가능한 형태로 제공됩니다.훈련된 데이터 세트, 예를 들어 Fraktur에 대한 데이터 세트도 있습니다.

새로운 LSTM 모델을 통해 Tesseract는 다음에서 영감을 얻었습니다.오크로푸스연구 프로젝트.

Tesseract 버전 3은 좋은 품질의 입력 이미지에서도 상대적으로 성능이 나쁩니다. 즉, 먼지 픽셀(텍스트 컨텍스트 외부)에서 단일 문자를 잘못 감지하는 경우가 많으며 잘 알려진 단어에 단일 문자 오류가 쉽게 발생합니다.

설형 문자

설형 문자OCR 성능은 그다지 나쁘지는 않지만 적극적으로 유지 관리되지 않으며(2011년 마지막 릴리스, 버전 1.1) 쉽게 충돌하고 몇 가지 다른 문제가 있습니다.

  • 분할 오류~와 함께다양한 패키지그리고릴리스
  • 레이아웃 알고리즘이 단순히 손상되었습니다. 즉, 1열 문서에서는 문단이 무작위로 뒤섞이는 경우가 많습니다.
  • 알 수 없는 옵션에서는 오류가 발생하지 않습니다.

다음과 같이 레이아웃 알고리즘을 비활성화할 수 있습니다.

$ cuneiform --singlecolumn -l ger -f text -o foo.txt image-0001

( -l원본 문서의 언어를 지정합니다)

오크라드

오크라드예시 호출:

$ ocrad -F utf8 image-0001

텍스트는 기본적으로 stdout으로 인쇄됩니다.

비즈니스 문서에서 cuneiform/tesseract/gocr에서는 밑줄 친 단어가 누락되었습니다.

Ocrad 매뉴얼에는 다음에 대한 섹션이 포함되어 있습니다.사용된 알고리즘, 예:

5) 문자를 감지하여 한 줄로 그룹화합니다.
6) 문자를 인식합니다(매우 임시적, 문자당 하나의 알고리즘).
7) 일부 모호성을 수정합니다(l.OOO를 1.000으로 변환 등).

GOCR

GOCR예시 호출:

$ gocr image-0001

텍스트는 기본적으로 stdout으로 인쇄됩니다.

GOCR 문서에는 OCR에 사용되는 모델/방법에 대한 자세한 내용이 포함되어 있지 않습니다.

하드웨어

제정신일부 자동 문서 공급(ADF) 스캐너를 매우 잘 지원합니다.아비전그리고후지쯔것들.

Sane에는 스크립트 스캔 파이프라인을 구축하는 데 사용할 수 있는 명령줄 프로그램이 포함되어 있습니다 scanimage(예: myadf2pdf.py스크립트).

답변2

나는 찾았다StackOverflow에 대한 비슷한 질문그리고아스프라이즈 OCR SDK, 링크된 것 중 하나광고제품은 Linux 버전을 자랑합니다.

답변3

... OCR은 "단순 문자 인식" 그 이상입니다. 이미지 처리, 전처리 - 페이지/레이아웃 분석을 통해 텍스트, 이미지, 표 또는 바코드를 찾습니다. 인식을 위해서는 다양한 글꼴, 크기 및 언어를 처리해야 합니다. 좋은 결과를 얻으려면 사전과 언어 정의를 사용해야 하기 때문에 이는 중요합니다. 마지막으로 사람들은 텍스트(예: XML, RTF 또는 검색 가능한 PDF)보다 더 많은 내보내기 옵션을 기대합니다. SDK에 대한 몇 가지 상용 옵션이 있지만 저렴하거나 무료는 아닙니다.

최근에 나는ABBYY의 Linux용 CLI OCR. 무료 100페이지 평가판이 있습니다.

답변4

예산이 충분하다면 강력 추천합니다Linux용 ABBYY FineReader 엔진 CLI. 우리 회사는 1년 동안 웹 애플리케이션에서 이를 사용해 왔으며 라이선스를 갱신할 계획입니다. 매우 우수한 인식 품질, 명령줄 인터페이스, 다양한 언어 인식.

관련 정보