用于从我们上传的图像中读取任何文本的 PHP api
Posted
技术标签:
【中文标题】用于从我们上传的图像中读取任何文本的 PHP api【英文标题】:Php api for reading any text from image wahtever we uplaod 【发布时间】:2017-10-02 15:36:00 【问题描述】:无论我们上传什么,我都需要帮助才能从图像中读取文本。是否有任何库可以做到这一点。我正在使用 Tesseract php OCR。
但不知道如何使用它。我在这里附上我的文件。
Tesseract 文件来自这里:https://github.com/thiagoalessio/tesseract-ocr-for-php/tree/master/src 和我的 php 我已经写了附加图片。enter image description here
【问题讨论】:
你安装了tesseract ocr吗? 请阅读How to ask a good question 和The perfect question 以及如何创建Minimal, Complete and Verifiable example (MVCE) 以改善您的问题并有机会获得答案。 您是否在您的虚拟主机上安装了 tesseract?你有任何 php 错误吗? 【参考方案1】:这是我用来在 ubuntu 16.04 上对 pdf 进行 ocr 的小脚本
$inputPDF = 'path/to /your/file';
$fileToOCR = "ocr.tiff";
exec("convert -density 300 $inputPDF -depth 8 -strip -background white -alpha off $fileToOCR");
$outputOCR = "ocr";
exec("tesseract $fileToOCR -l deu+eng $outputOCR hocr");
请注意,您需要安装 tesseract-ocr 和 imagemagick sudo apt-get install tesseract-ocr imagemagick
你还需要你想使用的语言包sudo apt-get install tesseract-ocr-[lang]
exec("convert ...");
准备文件以获得更好的结果
exec("tesseract ... ");
执行实际的 ocr,其中 deu+eng 是文本中的语言,hocr 是输出格式(xml 以及找到文本的附加信息)
希望对你有帮助
【讨论】:
【参考方案2】:你好,你可以使用这个库
https://www.phpclasses.org/package/3312-PHP-Hide-encrypted-data-in-images-using-steganography.html
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考/下载。如果链接页面发生更改,仅链接的答案可能会失效。 这个答案与原始问题无关,因为 OP 希望从图像中提取可见文本而不是隐藏在图像中的文本。【参考方案3】:您可以使用这个 API(它是免费的):
<?php
$url = 'http://server.com/image.png';
$data = json_decode(file_get_contents('http://api.rest7.com/v1/ocr.php?url=' . $url . '&format=txt'));
if (@$data->success !== 1)
die('Failed');
$txt = file_get_contents($data->file);
file_put_contents('text.txt', $txt);
您只需将$url
替换为图像文件的URL,输出将保存为text.txt
。
【讨论】:
以上是关于用于从我们上传的图像中读取任何文本的 PHP api的主要内容,如果未能解决你的问题,请参考以下文章