baraveli / bml-ocr
v0.3
2020-08-07 09:40 UTC
Requires
- intervention/image: ^2.5
- thiagoalessio/tesseract_ocr: ^2.9
Requires (Dev)
- phpunit/phpunit: ^9.2
- symfony/var-dumper: ^5.1
This package is auto-updated.
Last update: 2024-09-07 18:39:43 UTC
README
BML交易收据OCR,基于Tesseract OCR。目前它将结果作为数组返回。在未来的版本中,我们将切换到带有正则表达式匹配的收据对象。
不建议在生产环境中使用。
安装
通过 Composer
composer require baraveli/bml-ocr
‼️ 此库依赖于 Tesseract OCR,版本 3.02 或更高。
Linux用户注意事项
安装tesseract非常简单,运行以下命令:
sudo apt install tesseract-ocr
如果默认安装不包括英语语言包,您必须单独拉取它,运行以下命令
sudo apt-get install tesseract-ocr-eng
Windows用户注意事项
有多种方式在您的系统上安装Tesseract OCR,但如果您只想快速启动,我推荐使用Capture2Text包与Chocolatey。
choco install capture2text --version 3.9
⚠️ Capture2Text的最新版本不再提供tesseract
二进制文件。
macOS用户注意事项
使用MacPorts,您可以安装对单个语言的支持,如下所示
$ sudo port install tesseract-<langcode>
但是,使用Homebrew则不行。它默认只提供对英语的支持,因此如果您打算使用它进行其他语言的处理,最快的方法是安装所有语言包
$ brew install tesseract --with-all-languages
使用方法
use Baraveli\BmlOcr\BmlOcr; BmlOcr::make("/home/image/imagename.jpg", __DIR__) ->detect();
make方法的第一个参数是要进行OCR的收据路径,第二个参数是临时目录路径。当第一次给出图像路径时,它会创建一个具有更高锐度的临时图像,因为原始BML收据使用灰色进行排版。仅使用默认图像很难检测。检测完成后将其删除。
调用detect方法时,将返回数组形式的检测结果。
$receipt = BmlOcr::make("/home/image/imagename.jpg", __DIR__) ->detect(); var_dump($receipt);
结果
array:9 [
0 => "Transaction Receipt"
1 => "Status SUCCESS"
2 => "Message Transfer transaction is successful."
3 => "Ref # BLAZ418696504822"
4 => "Date 30/07/2020 21:46"
5 => "From SHIHAM A.RAHMAN"
6 => "To Mohamed Jinas"
7 => "7730000151614"
8 => "Amount MVR 750"
]