京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PHP使用OCR技能识别图片中的笔墨(无需接口)

2024-11-4 10:32| 发布者: 284cc| 查看: 96| 评论: 0

摘要: 目次安装Tesseract OCR安装PHP扩展导入须要的模块读取图片对图片进行预处理处罚使用Tesseract进行OCR识别总结tesseract-ocr是一个盛行的开源OCR引擎库,它使用C++编写。 PHP作为一种盛行的服务器端语言,也提供了一
目次

tesseract-ocr是一个盛行的开源OCR引擎库,它使用C++编写。 PHP作为一种盛行的服务器端语言,也提供了一些ocr识别的库和工具。可以通过tesseract-ocr识别PDF、JPEG、GIF、PNG等格式的图像。 tesseract-ocr的最大特点是它是针对多语言设计的,可以识别世界上大部门语言的文本。

安装Tesseract OCR

起首,我们须要安装Tesseract OCR引擎。Tesseract是一个开源的OCR引擎,由Google开发。它可以大概识别多种笔墨语言,而且在许多差别的平台上都可以使用。

在Linux系统上安装Tesseract时,可以使用以下命令:

[code]sudo apt-get install tesseract-ocr[/code]

在Windows系统上,可以从Tesseract的官网(https://github.com/tesseract-ocr/tesseract)下载安装程序并安装。

在Windows系统上,还可以使用Composer进行安装:

[code] composer require sbt/tesseract[/code]

安装PHP扩展

接下来,我们须要安装PHP扩展来使用Tesseract。PHP有一个名为“tesseract”的OCR扩展,它可以让我们在PHP中使用Tesseract引擎。

在Linux系统上,可以使用以下命令安装:

[code]sudo apt-get install php-tesseract[/code]

在Windows系统上,可以从PECL(http://pecl.php.net/package/tesseract)下载扩展并安装。可以在php.ini文件中添加以下行以启用扩展:

[code]extension=tesseract.so[/code]

导入须要的模块

[code]require 'vendor/autoload.php'; use Sbt\Tesseract\Tesseract;[/code]

读取图片

[code]$image = imagecreatefromjpeg('invoice.jpg');[/code]

对图片进行预处理处罚

在进行OCR识别之前,我们须要对图片进行一些预处理处罚操作,以提高识别的准确性。例如,我们可以将图片转换为灰度图像,然后进行二值化处理处罚。

[code]$gray = imagecreatetruecolor($width, $height); imagecopyresampled($gray, $image, 0, 0, 0, 0, $width, $height, $width, $height); $threshold = 127; $black = array(); $white = array(); for ($x = 0; $x < $width; $x++) { for ($y = 0; $y < $height; $y++) { $rgb = imagecolorat($gray, $x, $y); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; $grayscale = round(0.299 * $r + 0.587 * $g + 0.114 * $b); if ($grayscale < $threshold) { $black[] = imagecolorallocate($gray, $x, $y); } else { $white[] = imagecolorallocate($gray, $x, $y); } } } imagecolortransparent($gray, imagecolorallocate($gray, 0, 0, 0)); imagefill($gray, $black); imagecolortransparent($gray, imagecolorallocate($gray, 255, 255, 255)); imagefill($gray, $white);[/code]

使用Tesseract进行OCR识别

[code]$tesseract = new Tesseract(); $tesseract->setDatapath('/usr/share/tesseract-ocr/4.00/tessdata'); // 设置tessdata路径 $text = $tesseract->doOCR($gray); print_r($text);[/code]

总结

在本文中,我们学习了如何使用PHP和Tesseract进行OCR处理处罚。我们起首安装了Tesseract OCR引擎和tesseract扩展,然后使用PHP代码识别了一张图片中的文本。使用OCR技能有助于我们从图像中提取可编辑的文本,可以应用于各种场景,如扫描文档、数字化档案等。以上就是使用PHP和Tesseract OCR库进行发票信息识别的根本步骤。在现实使用中,大概还须要根据具体的发票格式和内容,对代码进行一些调解和优化。例如,假如发票中包罗表格大概图表,大概须要使用更复杂的图像处理处罚技能来进行分割和识别。此外,假如图片的笔墨是手写的,那么大概须要使用更强盛的OCR引擎,如Google的Cloud Vision API。

到此这篇关于PHP使用OCR技能识别图片中的笔墨(无需接口)的文章就先容到这了,更多相干PHP的OCR识别图片内容请搜刮脚本之家从前的文章或继承欣赏下面的相干文章盼望各人以后多多支持脚本之家!


来源:https://www.jb51.net/program/319911qxr.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-1 21:16 , Processed in 0.028776 second(s), 19 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部