介绍首先介绍一下本文中出现的几个重要概念:OCR(OpticalCharacterRecognition):光学字符识别(OpticalCharacterRecognition,OCR)指的是文本数据分析和识别图像文件,并获取文本和布局信息的过程。即识别图片中的文字,并以文字的形式返回。Tesserocr:Tesserocr是一个python的OCR识别库,但它实际上是对tesseract的一层pythonAPI封装,所以它的核心是tesseract。函数计算(FunctionCompute):函数计算是一种事件驱动的服务。通过函数计算,用户无需管理服务器的运行,只需要编写代码并上传即可。函数计算以弹性伸缩的方式准备计算资源和运行用户代码,用户只需为实际代码运行消耗的资源付费。有关更多信息,请参阅函数计算。Funcrfat:Funcraft是一款支持Serverless应用部署的工具,可以帮助您轻松管理函数计算、API网关、日志服务等资源。它通过一个资源配置文件(template.yml)协助您开发、构建和部署。Fun的更多文档参考。注意:本文介绍的技巧需要Funcraft版本大于等于3.6.8。本文介绍如何将预建的tesserocr示例快速部署到函数计算平台。本例借助Funcraft安装最新的4.1.1版tesseract,相比包管理器3.0.2版识别率有较大提升。这个例子提供了一个由vue.js实现的交互界面。提供输入图像的方式有以下三种:使用示例图像、上传图像或提供图像URL。然后用户可以通过点击识别按钮快速体验识别效果。在函数计算上部署tesserocr,借助函数计算的自动伸缩和按需付费的特性,具有免运维和高性价比的优势。下面是部署后的动画:初始化gitclonehttps://github.com/vangie/fc-ocr-example.git安装依赖$funinstalllocaltest$funlocalstartdomain_for_ocrusingtemplate:template.ymlCustomDomaindomain_for_ocroftesserocr/tesserocr已注册url:http://localhost:8000/methods:['GET','POST']authType:ANONYMOUSfunctioncomputeapplisteningonport8000!使用浏览器打开http://localhost:8000/同步文件到NAS将模型目录tessdata_fast和依赖目录.fun/root.fun/python同步到NAS磁盘。$funnassyncdeploy$fundeployusingtemplate:template.ymlusingregion:cn-shanghaiusingaccountId:*************3743usingaccessKeyId:*************Ptgkusingtimeout:60..Detect'DomainName:Auto'ofcustomdomain'domain_for_ocr'Fun将重复使用临时域1712300-1986114430573743.test.functioncompute.com,于2020-04-2719:35:00过期,每天限制1000个。等待自定义域domain_for_ocr部署...自定义域domain_for_ocr部署成功...注意上面返回的临时域名地址:1712300-1986114430573743.test.functioncompute.com用浏览器打开http://1712300-19861144305737...总结Tesserocr库提供开箱即用的图像识别效果,并提供预训练模型。如果需要,也可以直接训练模型。函数计算为Tesserocr作为服务提供了便利。借助函数计算,您可以轻松部署高可用、按量付费的OCR服务。Funcraft工具解决了Tesserocr移植到函数计算的一些技术难点,比如原生依赖和打包问题。有关详细信息,请参阅Funfile。“阿里云原生专注于微服务、Serverless、容器、ServiceMesh等技术领域,关注流行的云原生技术趋势,进行云原生大规模落地,是最懂云原生开发者的技术圈。”
