有一个开源的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上?有人用过这个吗?
-
检查您的环境变量如果Tesseract的二进制文件被添加到您的路径问题printenv命令在您的终端上,您应该看到类似
的内容路径= "/usr/地方/sbin:/usr/地方/bin:/usr/sbin"
-
如果不存在,在~/.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)