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识别程序了!

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

  1. linux简单邮件系统,怎样简单搭建一个Linux操作系统邮件服务器

    邮件是我们最常用的沟通东西之一,正在工做外更是经常利用.对于企业来说,搭建邮件办事器更是必不成少.为了让大师更容难理解搭建的道理取过程,正在搭建之前我们先来领会下相关邮件的一些相关学问. 3.MDA: ...

  2. 简单搭建一个SSM项目(一)

    简单搭建一个用户管理的SSM项目框架,虽然也能用servlet+jdbc搭建更简单的,不过个人感觉工作中更多用的ssm框架项目,这里就简单用ssm来搭建需要的项目吧. 准备工具:eclipse.jdk ...

  3. 通过ProGet搭建一个内部的Nuget服务器

    .NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...

  4. 解决QQ识图后复制文字然后将其粘贴到文件重命名中,总是显示重命名不成功

    如图再使用QQ屏幕识图后,复制文字,然后粘贴到文件重命名中,提示文件名不能包含下列任何字符: \ / : * ? " < > l 解决方法: 贴完以后会发现有个类似于软回车一样的 ...

  5. 如何搭建一个自己的音乐服务器

    点赞再看,动力无限. 微信搜「 程序猿阿朗 」. 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章. 最近发现,经常用的网易云音乐,有很 ...

  6. 3.2 搭建一个属于自己的服务器

    3.2 搭建一个属于自己的服务器! 阿里云租的服务器已经到期啦,不想续租,一来不常捣鼓它,不划算:二来9.9足够我吃一顿晚饭了,加鸡腿的那种--不过!作为技术宅,怎么能老是租用别人家的东西呢?自己也要 ...

  7. 快速搭建一个简易的HTTP服务器用于文件分享与下载

    需要快速搭建一个简易的HTTP服务器进行文件的分享与下载.主要有以下两种方法: 1. 使用python 来实现 import http.server import socketserverPORT = ...

  8. 使用IIS服务搭建一个本地的局域网服务器-共享自己发布的网站

    写在前面 IIS是什么我之前的文章写过了,有兴趣的可以看一下,我是在写搭建FTP服务器的时候写的,原文,这里就不介绍,今天说一下怎么搭建一个局域网的服务器. 应用场景:做项目的时候,有的时候产品经理是 ...

  9. Mac 搭建一个本地JRebel破解服务器

    Mac 搭建一个本地JRebel破解服务器:https://blog.csdn.net/jesse919/article/details/80967471

最新文章

  1. zookeeper watches
  2. 翻转单词顺序与左旋转字符串
  3. 万字超强图文讲解 AQS 以及 ReentrantLock 应用
  4. pwndbg用docker实现,进行题目分析
  5. 轻量级数据sqlite的C++调用示例
  6. 由mysql将视图数据导入Spss,发现别名字段数据不准确
  7. 智慧、智能工业园区管理平台+登记管理+人行闸管理+车辆闸管理+统计分析+系统管理+地理信息+Axure高保真web端后台管理系统
  8. Linux之父新年首次“炮轰”:英特尔在扼杀整个 ECC 行业
  9. 477. 汉明距离总和
  10. Error: spawn xxxx ENOENT原因与解决
  11. hello.java_helloworld怎么写java
  12. python识别文字位置_如何利用Python识别图片中的文字
  13. 求斐波那契数列的特征方程和通项公式
  14. 修改计算机用户名bat脚本
  15. java什么是reference_如何理解java中的Reference和引用类型?正确的案例讲解
  16. GOplot教程-GO柱状图(有点丑)-数据整理问题汇总
  17. Python采集--小说一键保存txt文本
  18. 中国 省会 地级市 经纬度 city array
  19. 论文笔记-Person Re-identification Past, Present and Future
  20. verilog中的initial语句

热门文章

  1. 拉勾网招聘数据爬取(公布源码)
  2. [论文笔记]Face X-ray for More General Face Forgery Detection
  3. 基于SpringBoot框架的药品在线销售系统的设计与实现
  4. Cookies 简介以及存在的安全隐患
  5. 使用“笑脸墙”打造歌手专辑
  6. go语言gin框架学习
  7. the content must be served over HTTPS 解决方案
  8. 泰山OFFICE技术讲座:关于微软雅黑字体,渲染的差异
  9. java-php-python-ssm汽车出租平台计算机毕业设计
  10. -- 37、查询不及格的课程