使用多线程开启OCR
2024-09-05 23:24:54
需求:经过opencv 或者其他算法对一张图片里面的文字内容进行切割,获取到切割内容的坐标信息,再使用ocr进行识别。一张一张识别太慢了,我们可以开启多线程识别。代码如下
threads = []
for coord in coord_list: # 获取到的坐标列表进行遍历,一个元素一个矩形
recv_thread = threading.Thread(target=ocr_discern, args=(coord, im,)) # ocr_discern为进行ocr识别的方法,参数coord为坐标, im为整张图片的二维数组
threads.append(recv_thread) # 把创建的线程放到列表中
for t in threads: # 开启线程守护
t.setDaemon(True)
t.start()
for t in threads:
t.join() # 让主线程等待所有子线程结束,再返回结果
print(text_coord_list) # text_coord_list为识别结果,在ocr_discern函数中,将识别结果及对应的坐标关系,放到text_coord_list中。
print('elapsed time:', time.time() - time1)
最新文章
- 为WIN8 APP创建置顶desktop应用
- PHP 检测变量是否为空
- Failed to load JavaHL Library.
- ado.net 用c#与数据库连接实现增删改查
- Scalaz(48)- scalaz-stream: 深入了解-Transducer: Process1-tee-wye
- Asp.Net Web API 2第三课——.NET客户端调用Web API
- json对象和json字符串有啥区别啊
- 基于Visual C++6.0的DLL编程实现
- linux 系统下java开发环境的配置
- 看懂这个sql 你的sql语句就掌握了
- Android入门第六篇之ListView (一)
- client,server,nginx 在使用keepAlive 专题
- Codeforces 535D - Tavas and Malekas
- 安装PG3.0详细教程附图
- linux 3.10的list_del
- SpringMVC在Controller层中注入request的坑
- idea 项目java版本选项位置
- 一篇带你读懂TCP之“滑动窗口”协议
- IL反编译的实用工具Ildasm.exe
- Spring资源加载基础ClassLoader