Tesseract PHP包装器打开文件失败


Tesseract PHP wrapper failed to open file

有一个开源的PHP包装类Tesseract (https://github.com/thiagoalessio/tesseract-ocr-for-php),但我有问题使用它:

使用composer成功安装,但是当我调用

$tesseract = new TesseractOCR('img/c11a67cdd171790771fcf33ec78461d9.png');
$tesseract->setTempDir('/var/www/dir_name/imgRead/');
$tesseract->setWhitelist(range(0,9));

当我运行echo $tesseract->recognize();时,我得到

Message: file_get_contents(/var/www/dir_name/imgRead/573534798.txt): 
failed to open stream: No such file or directory

作者说:

重要提示:确保tesseract二进制文件位于$PATH

但我不确定这到底是什么意思,我怎么能检查二进制文件是在我的$PATH上?有人用过这个吗?

  1. 检查您的环境变量如果Tesseract的二进制文件被添加到您的路径问题printenv命令在您的终端上,您应该看到类似

    的内容

    路径= "/usr/地方/sbin:/usr/地方/bin:/usr/sbin"

  2. 如果不存在,在~/.profile

    中添加类似的内容

    出口路径= $路径/usr/bin:/道路//你/超正方体

或者你可以在这里查看不同的添加方式

尝试通过PHP使用

设置路径
$path = getenv('PATH');
putenv("PATH=$path:/usr/local/bin");

where /usr/local/bin安装 Tesseract的位置

你好,我有自我问题。有人有解决办法吗?

My Path is:

PATH=/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin

My Path to tesseract is:

tesseract: /usr/local/bin/tesseract

我使用Cent OS 6和新的PHP

问题可能与Tesseract的安装有关,在终端上检查Tesseract

$ tesseract -v

确保输出接近此输出。应该有这些库,如果它缺少库,那么Tesseract不在任何地方写txt文件,这就是为什么它找不到它。

这是我在centos 6上的输出

超正方体3.02.02leptonica - 1.73Libjpeg 6b (Libjpeg -turbo 1.2.1): libpng 1.2.49: libtiff 3.9.4: zlib 1.2.3

检查您的系统中是否安装了TesseractOCR,如果没有:

sudo apt-get install tesseract-ocr

Tesseract-ocr-php只是在安装了TesseractOCR的系统上执行执行(cammande)