快速部署属于自己的 OCR API

本文涉及的产品
通用文字识别,通用文字识别 200次/月
教育场景识别,教育场景识别 200次/月
文档理解,免费额度 各100页
简介: 快速部署属于自己的 OCR API

背景

上篇文章我们讲解了验证码识别的最佳解决方案,今天我们把验证码识别的能力,服务化,对外输入一个OCR接口。


  • 将验证码识别服务化

部署属于自己的 OCR API

环境准备

【python>=3.6】

pip install ddddocr
pip install flask

搭建

  • 用flask搭建一个简单的后台服务
from flask import Flask, render_template, request
import ddddocr
app = Flask(__name__)
@app.route('/ocr', methods=['POST'])
def ocr_api():
    ocr = ddddocr.DdddOcr()
    img = request.files.get('image').read()
    r = ocr.classification(img)
    return ''.join(r)
if __name__ == '__main__':
    app.run(host="0.0.0.0", port=8089)
  • 启动服务
python ocr_server.py

验证

我们利用requests进行api验证,如下

直接用本地图片请求验证

import requests
api_url = "http://127.0.0.1:8089/ocr"
file = open(r'1.png', 'rb').read()
res = requests.post(api_url, files={'image': file})
print(res.text)

获取验证之后,再调用我们的识别api

  • 我们以【北京通】登录页面的验证为例
import requests
# 获取验证码图片
headers = {
    "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4195.1 Safari/537.36"
 }
resp = requests.get('https://bjt.beijing.gov.cn/renzheng/common/generateCaptcha?r=0.15605044411493973', headers=headers, verify=False)
captcha_img = resp.content
# 识别
resp = requests.post(api_url, files={'image': captcha_img})
print('验证码结果', resp.text)
# 保存验证码图片以供验证
with open('captcha.jpg', 'wb') as f:
    f.write(captcha_img)

思考&总结

「大家觉得方便高效有没有质和量的区别?」

  • 用【Tesseract OCR】进行验证码识别方不方便?也挺方便!
  • 用【百度OCR】进行验证码识别方不方便?也挺方便!
  • 用【带带弟弟OCR】进行验证码识别方不方便?好像也挺方便!

就经常问人,如果这三种方式能给够同样给你带来方便,也就是说这三 种方式你都欣赏过都使用过,你都觉得还不错对吧!

「那你觉得哪种方便更让你方便?」

相关文章
|
9天前
|
开发框架 .NET API
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
|
22天前
|
文字识别 小程序 安全
印刷文字识别操作报错合集之微信小程序调用API时路径总是返回不对,该如何处理
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。
|
22天前
|
文字识别 前端开发 API
印刷文字识别操作报错合集之通过HTTPS连接到OCR服务的API时报错,该如何处理
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。
|
22天前
|
文字识别 API
印刷文字识别操作报错合集之如何解决报错:The image type does not match the API operation.
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。
|
1月前
|
JavaScript 应用服务中间件 API
Node.js搭建REST API实战:从基础到部署
【7月更文挑战第18天】通过以上步骤,你可以将你的Node.js REST API从开发环境顺利迁移到生产环境,并利用各种工具和技术来确保应用的稳定性、安全性和可扩展性。
|
1月前
|
消息中间件 API 数据库
在微服务架构中,每个服务通常都是一个独立运行、独立部署、独立扩展的组件,它们之间通过轻量级的通信机制(如HTTP/RESTful API、gRPC等)进行通信。
在微服务架构中,每个服务通常都是一个独立运行、独立部署、独立扩展的组件,它们之间通过轻量级的通信机制(如HTTP/RESTful API、gRPC等)进行通信。
|
1月前
|
搜索推荐 API UED
资源部署及场景API调用体验过程的引导与操作流畅性
资源部署及场景API调用体验过程的引导与操作流畅性
|
21天前
|
开发框架 前端开发 应用服务中间件
部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用
部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用
|
22天前
|
文字识别 API
印刷文字识别使用问题之API将全角括号识别为半角括号,该如何解决
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
22天前
|
XML JSON 文字识别
印刷文字识别操作报错合集之API调用过程中报错469,是什么导致的
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。