首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >图像到文本python

图像到文本python
EN

Stack Overflow用户
提问于 2016-07-21 22:47:13
回答 5查看 32.9K关注 0票数 5

我正在使用python 3.x,并使用以下代码将图像转换为文本:

代码语言:javascript
复制
from PIL import Image
from pytesseract import image_to_string

image = Image.open('image.png', mode='r')
print(image_to_string(image))

我收到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:/Users/hp/Desktop/GII/Image_to_text.py", line 12, in <module>
    print(image_to_string(image))
  File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\site-packages\pytesseract\pytesseract.py", line 161, in image_to_string
    config=config)
  File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\site-packages\pytesseract\pytesseract.py", line 94, in run_tesseract
    stderr=subprocess.PIPE)
  File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\subprocess.py", line 950, in __init__
    restore_signals, start_new_session)
  File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\subprocess.py", line 1220, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

请注意,我已将图像放在我的python所在的同一目录中。此外,它不会在image = Image.open('image.png', mode='r')上引发错误,但会在print(image_to_string(image))行上引发错误。

你知道这里可能出了什么问题吗?谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-07-22 00:07:22

您必须在path中安装并可访问tesseract

According to sourcepytesseract仅仅是subprocess.Popen的包装器,将tesseract二进制文件作为二进制文件运行。它本身不执行任何类型的OCR。

来源的相关部分:

代码语言:javascript
复制
def run_tesseract(input_filename, output_filename_base, lang=None, boxes=False, config=None):
    '''
    runs the command:
        `tesseract_cmd` `input_filename` `output_filename_base`

    returns the exit status of tesseract, as well as tesseract's stderr output
    '''
    command = [tesseract_cmd, input_filename, output_filename_base]

    if lang is not None:
        command += ['-l', lang]

    if boxes:
        command += ['batch.nochop', 'makebox']

    if config:
        command += shlex.split(config)

    proc = subprocess.Popen(command,
            stderr=subprocess.PIPE)
    return (proc.wait(), proc.stderr.read())

引用源代码的另一部分:

代码语言:javascript
复制
# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
tesseract_cmd = 'tesseract'

因此,更改tesseract路径的快捷方法是:

代码语言:javascript
复制
import pytesseract
pytesseract.tesseract_cmd = "/absolute/path/to/tesseract"  # this should be done only once 
pytesseract.image_to_string(img)
票数 7
EN

Stack Overflow用户

发布于 2017-09-13 01:19:43

您还需要下载tesseract OCR安装程序。使用此链接下载安装程序:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-3.05.01.exe

然后,在代码中包含以下行以使用tesseract可执行文件: pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files (x86)\Tesseract-OCR\tesseract‘

这是将安装tesseract的默认位置。

就是这样。我还遵循了以下步骤来运行我那端的代码。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2019-12-19 17:21:26

请安装以下用于从图像pnf/jpeg中提取文本的软件包

代码语言:javascript
复制
pip install pytesseract

pip install Pillow 

使用python pytesseract OCR (光学字符识别)是从图像中以电子方式提取文本的过程

PIL的用途从简单的读取和写入图像文件到科学图像处理、地理信息系统、遥感等等。

代码语言:javascript
复制
from PIL import Image
from pytesseract import image_to_string 
print(image_to_string(Image.open('/home/ABCD/Downloads/imageABC.png'),lang='eng'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38507426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档