python识图 web_轻松简单搭建一个python的OCR服务器 识别截图中内容并提取

Why?

OCR(也称为光学字符识别)已经成为Python的常用工具。随着开源库Tesseract和Ocrad的出现,越来越多的程序员使用OCR编写自己程序。OCR的一个小例子,例如使用OCR直接从截图中提取文本,省去了重新键入的麻烦。

开始的步骤

在开始之前,我们需要开发一个后端服务层来表示OCR引擎的结果。这样,你可以以你喜欢的方式向最终用户表达你的结果。这篇文章将在后面详细介绍。此外,我们需要添加一个后端代码来生成HTML表,以及一些使用这些API的前端代码。这部分没有提到,但是你可以参考源代码。

准备出发。

首先,需要安装一些依赖项。这个过程也是非常有趣的。

本文已经在Ubuntu 14.04中进行了测试,但是12 x和13 x版本也应该是可用的。如果您使用的是OSX,您可以创建一个带有VIDALBOX、DOKER(检查DOCKER文件和安装指南)的环境,或者DigialOngRead(推荐)。

下载依赖项

我们需要TestSerACT及其所有依赖关系,包括LytONICA和其他相关的包。

注意:您可以使用yRun.Shell脚本快速安装LepToNICA和TestSerACT的依赖包。如果您这样做,您可以直接跳转来构建Web服务器(跳转链接)部分。但是为了学习,如果你以前没有建立过库文件,最好尝试一下。

怎么搞的?

简而言之,SUDO APT获得更新意味着更新包列表。然后你可以安装一些图像处理软件包,比如LibTiff,LIPPNG等等。此外,我们需要安装Python 2.7作为我们的编程语言,以及Python映像库。

说到图像,我们需要在图像编辑程序之前编辑图像。

$SUDO APT安装IMAGEMGEKIK

构建Leptonica和Tesseract

同样,如果您已经安装了.Run.SH脚本,您可以直接跳转到构建Web服务器(跳转链接)部分。

轻子

现在,开始安装Leptonica。

如果这是第一次使用TAR,请遵循以下步骤:

1。用WGET下载Leptonica二进制文件

2。解压缩

三。使用CD在解压缩后进入文件夹。

4。运行AutoBug并配置脚本安装

5。执行make命令构建

6。安装后建造

7。实现LDCONFIG创建相关链接

好的,Leptonica是建的,然后是TSSESACT。

特西塞拉

现在下载并安装Tesseract。

本文建立了轻子的图像,这一部分的细节是对轻子的解释。

环境变量

我们需要设置一个环境变量来访问TestSerACT数据:

导出TestDATA*前缀=/Ur/Posial/Stuts/

特塞尔包

最后,安装TestSerACT相关的语言包:

好,特塞拉也安装了,CLI可以测试。有关更多信息,可以参考DOCS(超链接)。但是,我们也需要一个Python环境。因此,接下来安装一个接受以下两个请求的烧瓶服务器:

1。接受图像URL

2。能够对图像进行字符识别。

搭建Web服务器

最有趣的是!首先,我们需要构建一种与Python和TestSerAt进行交互的方法。我们可以使用Popen,但这不是Python的风格。因此,我们可以使用一个非常小但功能强大的Python包来封装TestSerAt,pyStSerACT。

如果你想更快,运行ApApp.SH脚本。否则,单击此处(超链接)以获得代码/结构的模板,然后运行命令:

注意:烧瓶模板(带有真正的Python维护)是获得简单Python风格服务器的一个很好的库。在本文中,它被用作一个基本过程。点击这里(超链接)获取更多信息。

安装OCR引擎

现在,我们需要使用PyTestSeRead来创建一个类来读取图片。在FraskJoServer目录中创建一个新文件OCR.Py。编写以下代码:

很不错的!

处理图像的主要功能是对图像文本进行锐化处理。

现在,这个模块已经准备好使用了。

可选:为您的OCR引擎创建CLI工具。

有这么多繁琐的配置工作,让我们创建一个CLI工具来调整我们的情绪。在FraskJoServer目录中创建一个新的文件cli.py。编写以下代码:

这很简单。然后,我们可以看到从我们的OCR引擎输出到标准输出STDUT上的文本。让我们试试Python FraskJoServer/cli.py.

回到服务器

现在我们已经安装了OCR引擎,我们应该准备输出。下面的代码被添加到

App.Py文件:

确保下列软件包是最新的:

最后,添加行API版本号:

版本1=API版本

从代码中可以看到,我们将JSON响应以PIL中的Image文件对象的方式传递到引擎的process_image方法中。目前,它只支持JPG图像。

注:如果没有安装PIL包装,您可以使用枕头包装。PIL还存在一些尚未解决的问题,Python社区对此有不同的看法。你可以去谷歌了解详情。

测试

运行你的程序:

然后,它运行在另一个终端上:

$CURL X POST HTTP://LoalHoal:5000 /V1/OCR-D“{IMAGEURURL”:某个URL“} -H”内容类型:应用程序/JSON

例子

前端

现在,后端OCR引擎的API已经准备就绪,我们可以添加一个基本前端来使用这些API,并通过Ajax和jQuery将结果添加到DOM中。这里没有提到这部分内容。请参见这里(超链接)。

用下列样本进行测试:

总结

通过以上的教程我们可以搭建一个最近的OCR识别程序了!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值