Linux 시스템의 OCR [닫기]


14

저는 항상 오픈 소스 시스템 에서 OCR 기술 이 뒤처져 있다는 것을 알게되었습니다 . 나는 또한 유아기부터 Ocropus 프로젝트를 보았습니다 . Linux, Tesseract 에서 사용할 수있는 최고의 OCR 엔진이 무엇인지 들었고 , 비즈니스 문서가 부족한 것을 발견했습니다. 더 유망한 다른 OCR 구현이 있습니까? 필기 해석에 대한 더 희망적인 목표는 어떻습니까? 이 분야의 * nix 시스템에서 가능한 것은 무엇입니까?


1
이것을 소프트웨어 저장소로 마이그레이션해야합니까?
Jeff Schaller

@Jeff는 아마도 거의 7 살이되었을 것입니다. 그 이후로 많은 일이 일어났습니다. OCR에서 일부 ...
...-)

답변:


4

테서 랙트

2018 년 현재 사용 가능한 최상의 오픈 소스 OCR 소프트웨어는 새로운 LSTM 신경망 OCR 모델을 갖춘 Tesseract 4 (베타) 입니다 . OCR 성능은 버전 3에서 사용 된 이전 OCR 모델보다 훨씬 우수합니다.

예 ( output.pdf스캔 독일어 문서의 텍스트 레이어가 있는 PDF 파일 생성 ) :

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

인식 된 텍스트를 stdout에 인쇄하십시오.

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

설치된 언어를 나열하십시오.

$ tesseract --list-langs

다운로드 가능한 훈련 된 데이터 세트 의 형태로 상당히 많은 언어 / 스크립트를 지원 합니다 . 예를 들어 Fraktur에 대한 데이터 세트도 있습니다.

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

Tesseract 버전 3은 우수한 품질의 입력 이미지에서도 상대적으로 나쁜 성능을 발휘합니다. 즉, 종종 텍스트 픽셀 이외의 먼지 픽셀에서 단일 문자를 잘못 감지하고 잘 알려진 단어에서 단일 문자 오류를 쉽게 발생시킵니다.

설형 문자

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

  • 분할 오류다양한 패키지출시
  • 레이아웃 알고리즘이 간단하게 깨져 있습니다. 즉, 한 열의 문서에서 단락은 종종 무작위로 섞입니다.
  • 알 수없는 옵션에서 오류가 발생하지 않습니다.

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

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

( -l소스 문서의 언어를 지정합니다)

옥 라드

$ ocrad -F utf8 image-0001

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

비즈니스 문서에서 cuneiform / tesseract / gocr은 그렇지 않은 밑줄이 그어진 단어를 놓쳤습니다.

gocr

$ gocr image-0001

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

하드웨어

SaneAvisionFujitsu 와 같은 많은 자동 문서 공급 (ADF) 스캐너를 매우 잘 지원 합니다.

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


나는 설형 문자를 시도했다. 스캔 된 이미지 (사진이 아닌)를 인식해야하는 경우 잘 작동합니다. Yagf를 GUI로 사용했습니다.
Sergei

3

StackOverflow비슷한 질문을 찾았 으며 연결된 상용 제품 중 하나 인 Asprise OCR SDK 는 Linux 버전을 자랑합니다.


이 링크가 질문에 대한 답변을 제공 할 수 있지만 여기에 답변의 필수 부분을 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않을 수 있습니다. - 검토에서
토마스

1
@Thomas 링크는 OP가 요청한 특정 도구를 가리 키기 때문에 가능한 유일한 답변입니다. 모든 링크 전용 답변이 나쁜 것은 아닙니다. 이것은 특정 소프트웨어의 이름과 웹 페이지에 대한 링크를 제공합니다. 링크가 끊어져도 이름에서 찾을 수 있습니다.
terdon

1

널리 사용되는 OCR 명령 줄 도구는 거의 없습니다.

  • Tesseract ( ReadMe , FAQ ) (Python)

    Tesseract .NET , Tesseract iOS 에서도 사용 가능

    1985 년에서 1995 년 사이에 HP Labs에서 개발되었으며 현재는 Google에서 개발 된 OCR 엔진입니다. Tesseract는 아마도 가장 정확한 오픈 소스 OCR 엔진 일 것입니다.

    용법:

    tesseract [inputFile] [outputFile] [-l optionalLanguageFile] [PathTohOCRConfigFile]
    

    예 : 명령 줄 / 스크립트를 통해 기존 PDF를 검색 가능 (OCR)으로 설정

  • GOCR

    오픈 소스 문자 인식. 스캔 한 텍스트 이미지를 다시 텍스트 파일로 변환합니다. GOCR은 다른 프런트 엔드와 함께 사용할 수 있으므로 다른 OS 및 아키텍처로 쉽게 이식 할 수 있습니다. 다양한 이미지 형식을 열 수 있으며 품질이 매일 향상되고 있습니다.

  • OCRopus ™ ( FAQ ) (Python, NumPy 및 SciPy로 작성)

    OCR 시스템은 플러그 가능 레이아웃 분석, 플러그 가능 문자 인식, 통계 자연 언어 모델링 및 다국어 기능을 특징으로하는 문서 분석의 문제를 해결하기위한 대규모 기계 학습의 사용에 중점을 둡니다.

    OCRopus 엔진은 90 년대 중반에 개발되어 미국 인구 조사국에서 배포 한 고성능 필기 인식기와 새로운 고성능 레이아웃 분석 방법이라는 두 가지 연구 프로젝트를 기반으로합니다.

    OCRopus는 Google에서 개발을 후원하며 처음에는 처리량이 많은 대용량 문서 변환 작업을위한 것입니다. 우리는 또한 다른 많은 응용 분야에서 훌륭한 OCR 시스템이 될 것으로 기대합니다.

  • Tessnet2 (오픈 소스, OCR, Tesseract, .NET, DOTNET, C #, VB.NET, C ++ / CLI)

    Tesseract는 C ++ 오픈 소스 OCR 엔진입니다. Tessnet2는 OCR을 수행하는 매우 간단한 방법을 제공하는 .NET 어셈블리입니다. Tessnet2는 tesseract와 같은 Apache 2 라이센스에 따라 상용 제품에 포함되어 원하는대로 사용할 수 있습니다.

이미 다른 제안 : Linux 용 ABBYY CLI OCR , Asprise OCR .

또한 읽어보십시오 :

더 완전한 목록을 보려면 Wikipedia 의 광학 문자 인식 소프트웨어 목록을 확인하십시오 .


0

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

최근에 ABBYY에서 Linux 용 CLI OCR을 찾았습니다 . 100 페이지 무료 평가판이 있습니다.


0

예산이 있다면 Linux 용 ABBYY FineReader Engine CLI를 적극 권장 합니다. 당사는 1 년 동안 웹 응용 프로그램에서이 소프트웨어를 사용해 왔으며 라이센스를 갱신 할 계획입니다. 매우 우수한 인식 품질, 명령 줄 인터페이스, 여러 언어로 인식됩니다.


2
이 제품은 이미 이전 답변 에서 언급되었습니다 . 답을 복제하지 마십시오!
David Foerster
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.