【问题标题】:OSError: [Errno 12] Cannot allocate memory pytesseractOSError: [Errno 12] 无法分配内存 pytesseract
【发布时间】:2018-08-01 15:19:53
【问题描述】:

我遇到了一个问题。我正在运行一个 python 脚本,它使用 tesseract 将 pdf 转换为图像。

for filename in path_list:
    print(filename)        
    pdfFile = wi(filename = filename, resolution = 300)
    image = pdfFile.convert('jpeg')
imageBlobs = []

for img in image.sequence:
    imgPage = wi(image = img)
    imageBlobs.append(imgPage.make_blob('jpeg'))

extract = []

for imgBlob in imageBlobs:
    image = Image.open(io.BytesIO(imgBlob))
    text = pytesseract.image_to_string(image, lang = 'eng')

从 11 个 pdf 文件中提取内容后,出现以下错误。 这不是pdf文件的问题,因为当我单独给出那个特定的pdf时,它提取了它的内容。 我在 Ubuntu 16.04 上运行脚本

任何帮助将不胜感激。

Error: -
File "/home/steve/.local/lib/python3.5/site-packages/pytesseract/pytesseract.py", line 170                                                                         ,in run_tesseract
proc = subprocess.Popen(cmd_args, **subprocess_args())
File "/usr/lib/python3.5/subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
File "/usr/lib/python3.5/subprocess.py", line 1490, in _execute_child
    restore_signals, start_new_session, preexec_fn)
OSError: [Errno 12] Cannot allocate memory
Traceback (most recent call last):
  File "ocr_script.py", line 466, in <module>
  gather_details(path_list)
  File "ocr_script.py", line 45, in gather_details
  discover_data('Indexing',discoveryPath,final_meta,start_time)
  File "ocr_script.py", line 165, in discover_data
  text = pytesseract.image_to_string(image, lang='eng')
  File "/home/steve/.local/lib/python3.5/site 
  packages/pytesseract/pytesseract.py", line 294                                                                            
  , in image_to_string 
  return run_and_get_output(*args)
  File "/home/steve/.local/lib/python3.5/site- 
  packages/pytesseract/pytesseract.py", line 202                                                                            
  , in run_and_get_output
  run_tesseract(**kwargs)
  File "/home/steve/.local/lib/python3.5/site- 
  packages/pytesseract/pytesseract.py", line 172                                                                            
  , in run_tesseract
  raise TesseractNotFoundError()
  pytesseract.pytesseract.TesseractNotFoundError: /usr/bin/tesseract is not 
  installed or it's 

【问题讨论】:

标签: python-3.x tesseract python-tesseract


【解决方案1】:

经过进一步分析和调整,我得出结论,问题出在我的 tesseract 而不是操作系统上。 我所做的更改 -

  1. /etc/ImageMagic..(版本) 编辑,policy.xml文件

这些是我增加内存的参数。

【讨论】:

    猜你喜欢
    • 2015-05-04
    • 2010-11-24
    • 2013-08-01
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 2019-08-23
    相关资源
    最近更新 更多