ChineseOCR在线API

  • 网页链接

界面

  • 提供多种接口调用方式,比如在线调用、Javascript api调用、curl api调用和python api调用四种方式,本次使用javascript api调用的方式进行OCR识别

代码

import glob
import base64
import os
import requests
import threading
import time
from time import ctimeWSI_MASK_PATH = 'E:\\OCRTest'#存放图片的文件夹路径
paths = glob.glob(os.path.join(WSI_MASK_PATH, '*.jpg'))
print(paths)
print("******************************************************************")base_url = "https://momodel.cn/pyapi/apps/run/"
app_id = "5cd04ee51afd94639a492b8e"
app_version = "0-2-0"def read_file(filpos,i):with open(filpos+str(i)+".jpg","rb")as f:data = f.read()encoder = base64.b64encode(data)# print(str(encoder,'utf-8'))fill_with_base64_image = str(encoder, 'utf-8')input_dic = {"img": {"val": fill_with_base64_image, "type": "img"}}output_dic = {"take_time": {"type": "float"}, "output": {"type": "str"}}payload = {"app": {"input": input_dic, "output": output_dic}, "version": app_version}response = requests.post(base_url + app_id, json=payload)print(response.json())threads = []
x=0
for t in range(0,3):t= threading.Thread(target=read_file,args=("E:\\OCRTest\\",x))threads.append(t)time.sleep(10)x+=1#join在里面时候只有第一个子进程结束才能打开第二个进程,if__name__ 调用时不可用
if __name__=="__main__":for thr in threads:thr.start()thr.join()print("all over %s"%ctime())

识别结果

问题

  • 容易出现错误,时间提高性能不大

使用多线程的方式调用chineseocr_API相关推荐

  1. 任务(多线程并行)TFDMemTable内存表传参方式调用服务器返回的TDataSet

    任务(多线程并行)TFDMemTable内存表传参方式调用服务器返回的TDataSet 服务器端: function TServerMethods1.getTFDDataSet   ( const p ...

  2. Java 多线程启动为什么调用 start() 方法而不是 run() 方法?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:终于放弃了单调的swagger-ui了,选择了这款神器-knife4j个人原创100W+访问量博客:点击前往,查 ...

  3. python多线程没有java_Java 多线程启动为什么调用 start() 方法而不是 run() 方法?...

    多线程在工作中多多少少会用到,我们知道启动多线程调用的是 start() 方法,而不是 run() 方法,你知道原因吗? 在探讨这个问题之前,我们先来了解一些多线程的基础知识~ 线程的状态 Java ...

  4. Visual C++串口通信编程---多线程异步方式

    Visual C++串口通信编程---多线程异步方式 1. 串口通信基础 提到串口让人想起并口,它们是计算机中两个比较重要的通信方式. 串口:也叫COM口,把字节的二进制位按位列队进行传输,每个字节占 ...

  5. 更新尺寸调用什么方法_Java 多线程启动为什么调用 start() 方法而不是 run() 方法?...

    多线程在工作中多多少少会用到,启动 多线程调用的是 start() 方法,而不是 run() 方法,这是为什么呢? 在探讨这个问题之前,先来了解(复习)一些多线程的基础知识~ 线程的状态 Java 中 ...

  6. Android 多线程实现方式

    该原创文章首发于微信公众号"字节流动" Android 多线程实现方式 通常来说,一个应用至少有一个进程,而一个进程至少有一个线程. 线程是 CPU 调度的基本单位,进程是系统资源 ...

  7. 【多线程】给三个字母a、l、i,采用多线程的方式打印alialialiali。。。

    目录 1. 题目 2. 解析 1. 使用ReetrankLock和Condition 1. 思路 2. 代码实现 3. 控制台 2. 使用synchronized和AtomicInteger配合 1. ...

  8. Python3进阶--Socket编程、多线程(创建方式、线程通信、线程锁、线程池)

    第一章 变量.常用循环体.代码结构.代码练习 第二章 列表.元组等数据结构.字符串驻留机制及字符串格式化操作 第三章 函数.面向对象.文件操作.深浅拷贝.模块.异常及捕获 第四章 项目打包.类和对象高 ...

  9. Qt的4种多线程实现方式

    一.QThread类的run 一.实现方法: 新建一个集成QThread的类,重写虚函数run,通过run启动线程 二.示例: class WorkerThread : public QThread{ ...

最新文章

  1. 计算机32位操作系统最大识别到内存,win7 32位系统可以支持多大的内存_win7 的32位系统最大支持多少g的内存...
  2. 斯坦福大学统计系教授带你玩转微生物组分析
  3. qt布局中listwidget 保持固定宽度_UI设计中响应式设计实用技巧
  4. 【转】#ifndef作用
  5. mysql connect by_Mysql主从库搭建
  6. Anisotropic gauss filter
  7. 别光看世界杯 7月还有一场音视频技术盛宴等着你
  8. 巴塞尔问题欧拉解法逐步推导与分析
  9. 小米裁员10%?官方回应:创业至今 从未裁员
  10. 【Docker容器】进入容器的2种方式
  11. 在百度上搜不到的资源是在哪找的?就在这些强大的资源搜索网站呀
  12. 牛逼!SpringBoot+Vue企业级支付系统!附源码!
  13. 空气质量等级c语言编程,关于SDS011模块(空气中pm2.5及pm10)单片机c程序实现(链接附源码)...
  14. Unity显示360度全景照片
  15. 现在学java好还是python好,java好学还是python好学
  16. python培训班哪些比较好-python培训机构哪家好?怎样选择python培训机构?
  17. 递归函数与内置函数和函数式编程
  18. python end函数用法_python end用法是什么?_后端开发
  19. java使用scanner.nextline方式接收键盘输入
  20. FPGA入门(FPGA结构、Verilog编程基础)

热门文章

  1. excel怎么添加diy工具箱_这些Excel插件让你的Excel更好用!
  2. arcgis选出点规定范围的面
  3. 【转】Linux命令行下svn ignore忽略文件或文件夹用法
  4. java对象间的转型,详细讲述Java中的对象转型
  5. java +号变空格_base64码通过http传输 +号变 空格 问题解决
  6. 【Python CheckiO 题解】First Word
  7. Python3 爬虫实战 — 58同城武汉出租房【加密字体对抗】
  8. 【深度学习】 - MobileNet使用的可分离卷积
  9. 【POJ - 2942】Knights of the Round Table(点双连通分量,二分图判断奇环奇圈)
  10. 【牛客 - 551G】CSL的训练计划(二分 + 拓扑排序 + 优化卡常)