开发函数计算的正确姿势——OCR 服务
簡介
首先介紹下在本文出現的幾個比較重要的概念:
OCR(光學字符識別): 光學字符識別(Optical Character Recognition, OCR)是指對文本資料的圖像文件進行分析識別處理,獲取文字及版面信息的過程。亦即將圖像中的文字進行識別,并以文本的形式返回。
Tesserocr: Tesserocr 是 python 的一個 OCR 識別庫,但其實是對 tesseract 做的一層 python API 封裝,所以它的核心是 tesseract。
函數計算(Function Compute): 函數計算是一個事件驅動的服務,通過函數計算,用戶無需管理服務器等運行情況,只需編寫代碼并上傳。函數計算準備計算資源,并以彈性伸縮的方式運行用戶代碼,而用戶只需根據實際代碼運行所消耗的資源進行付費。函數計算更多信息參考。
Funcrfat: Funcraft 是一個用于支持 Serverless 應用部署的工具,能幫助您便捷地管理函數計算、API 網關、日志服務等資源。它通過一個資源配置文件(template.yml),協助您進行開發、構建、部署操作。Fun 的更多文檔參考。
備注: 本文介紹的技巧需要 Funcraft 版本大于等于 3.6.8 。
本文介紹將一個預制的 tesserocr 示例快速部署到函數計算平臺。該示例借助于 Funcraft 安裝了最新的 4.1.1 版本的 tesseract,相比于包管理器的 3.0.2 版本識別率大幅度提升。
該示例提供了一個 vue.js 實現的交互界面,有三種提供輸入圖片的方式:使用示例圖片、上傳圖片或者提供圖片 URL。然后用戶點擊識別按鈕就能迅速體驗識別效果。
將 tesserocr 部署于函數計算,借助于函數計算的自動伸縮和按量計費的特性,提供了免運維和成本優勢。
下面是部署以后的使用效果動圖:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-wmkgVbQK-1589181894499)(https://data-analysis.cn-shanghai.log.aliyuncs.com/logstores/article-logs/track_ua.gif?APIVersion=0.6.0&title=%E5%BC%80%E5%8F%91%E5%87%BD%E6%95%B0%E8%AE%A1%E7%AE%97%E7%9A%84%E6%AD%A3%E7%A1%AE%E5%A7%BF%E5%8A%BF%E2%80%94%E2%80%94OCR%20%E6%9C%8D%E5%8A%A1&author=%E5%80%9A%E8%B4%A4&src=article)]
初始化
git clone https://github.com/vangie/fc-ocr-example.git安裝依賴
$ fun install本地測試
$ fun local start domain_for_ocr using template: template.yml CustomDomain domain_for_ocr of tesserocr/tesserocr was registeredurl: http://localhost:8000/methods: [ 'GET', 'POST' ]authType: ANONYMOUSfunction compute app listening on port 8000!使用瀏覽器打開 http://localhost:8000/
同步文件到 NAS
同步模型目錄 tessdata_fast 和 依賴目錄 .fun/root .fun/python 到 NAS 盤。
$ fun nas sync部署
$ fun deploy using template: template.yml using region: cn-shanghai using accountId: ***********3743 using accessKeyId: ***********Ptgk using timeout: 60...Detect 'DomainName:Auto' of custom domain 'domain_for_ocr' Fun will reuse the temporary domain 1712300-1986114430573743.test.functioncompute.com, expired at 2020-04-27 19:35:00, limited by 1000 per day.Waiting for custom domain domain_for_ocr to be deployed... custom domain domain_for_ocr deploy success...注意上面返回的臨時域名地址:1712300-1986114430573743.test.functioncompute.com
使用瀏覽器打開 http://1712300-1986114430573743.test.functioncompute.com
小結
“阿里巴巴云原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的技術圈。”
總結
以上是生活随笔為你收集整理的开发函数计算的正确姿势——OCR 服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020 有哪些不容错过的前端技术趋势?
- 下一篇: 社区首款 OAM 可视化平台发布!关注点