2016-08-23 4 views
3

나는 Tesseract를 사용하여 수백만 개의 PDF에서 OCR을 수행하고 있으며 가능한 한 많은 성능을 압축하려고합니다.메모리에서 Tesseract에 이미지를 제공하는 방법

현재 파이프 라인은 convert을 사용하여 PDF를 PNG 파일 (페이지 당 하나씩)로 변환 한 다음 각각에 대해 Tesseract를 사용합니다.

프로파일 링하는 동안 파일을 디스크에 쓰는 데 많은 시간을 소비하고 다시 읽는 데 많은 시간이 소요된다는 사실을 발견했습니다. 따라서이 모든 것을 메모리로 옮기고 싶습니다.

나는 메모리에서 작업하는 PNG 변환을 얻었으므로, 파일에 경로를 제공하는 대신 Tesseract에 메모리상의 BLOB를 전달할 방법이 필요합니까? 나는 어떤 문서 나 예를 찾을 수 없었는가?

+0

이 질문에 대한 전체 답변을 얻을 수없는 경우, A-주위 작품은 RAM 디스크에 이미지 파일을 저장하는 것입니다. (많은 리눅스 배포판이 기본적으로 RAM 디스크를 생성합니다.) – John1024

+0

그래, 그게 내 본능 이었어.하지만 우리는 그렇게하지 않았어. 그런 변화를 만들기 위해서 내 스택 밖에있다. – mlissner

+0

'tesseract'는'stdin'을 처리 할 수 ​​있습니다 ... –

답변

0

pytesseract을 사용할 수 있습니다. Google Tesseract 용 Python 래퍼입니다.

사용법 :

image = ... # read image to memory 
result = pytesseract.image_to_string(image, lang="eng")