[PaddleOCR]核酸检测证明复查统计?
转自AI Studio,原文链接:[PaddleOCR]核酸检测证明复查统计?50行代码轻松搞定 - 飞桨AI Studio1 背景今日这个核酸检测130行代码刷屏的事件很火,如下:看到复旦某博士130行代码搞定批量识别核酸证明的结果,心想PaddleOCR不也可以嘛?我来复现一下!1.1备注看看我用paddle可以多少行代码搞定呢?这里特别注意,并不知道他采用的图片是什么格式,我这里使用四川的我
·
转自AI Studio,原文链接:[PaddleOCR]核酸检测证明复查统计?50行代码轻松搞定 - 飞桨AI Studio
1 背景
今日这个核酸检测130行代码刷屏的事件很火,如下:
看到复旦某博士130行代码搞定批量识别核酸证明的结果,心想PaddleOCR不也可以嘛?我来复现一下!
1.1备注
看看我用paddle可以多少行代码搞定呢?
这里特别注意,并不知道他采用的图片是什么格式,我这里使用四川的我近期刚做的核酸证明为样例进行试验。
我使用的报告如下拿本人的P了三张:(其实大家应该大差不差)
![](https://img-blog.csdnimg.cn/img_convert/95e7fa6caa0211755c562ff9feb037d8.png)
话不多说,直接开搞!
In [ ]
!pip uninstall paddlehub -y
!pip install paddlehub shapely pyclipper
2 代码实现
In [31]
import paddlehub as hub
import cv2
import os
import csv
# dirpath 为存图片的文件夹的路径,如这里的test,这里是为了取图片的路径
def manyImages(dirpath):
dirpath = dirpath
all_list = []
all_list_path = []
i = 0 # 标记总文件数量
for root,dirs,files in os.walk(dirpath): # 分别代表根目录、文件夹、文件
for file in files:
i = i + 1
imgpath = os.path.join(root,file)
all_list.append(imgpath+"\n")
all_list_path.append(imgpath)
allstr = ''.join(all_list)
f = open('all_list.txt','w',encoding='utf-8')
f.write(allstr)
return all_list_path , i
all_list_path,all_lenth = manyImages("test")
ocr = hub.Module(name="chinese_ocr_db_crnn_server") # 可以换移动端轻量级 chinese_ocr_db_crnn_mobile
# 读取测试文件夹test.txt中的照片路径
np_images =[cv2.imread(image_path) for image_path in all_list_path]
results = ocr.recognize_text(
images=np_images, # 图片数据
use_gpu=False, # 是否使用 GPU
output_dir='ocr_result', # 图片的保存路径,默认设为 ocr_result;
visualization=True, # 是否将识别结果保存为图片文件;
box_thresh=0.5, # 检测文本框置信度的阈值;
text_thresh=0.5) # 识别中文文本置信度的阈值;
with open('result.csv', 'w') as f:
row=['姓名_身份证号码','采样时间','检测时间','结果']
write=csv.writer(f)
write.writerow(row)
f.close()
for result in results:
data = result['data']
with open('result.csv', 'a',newline='') as f:
write=csv.writer(f)
r = []
for information in data:
if(("**" in information['text']) or ("时间" in information['text']) or ("阴性" in information['text'])):
r.append(information['text'])
write.writerow(r)
f.close
3 结果
在最左侧生成csv,内容如下:
![](https://img-blog.csdnimg.cn/img_convert/995ea91335030a917121b3052053ce7e.png)
50行代码搞定,其中还包含注释等。还是很轻松的完成了的。
PaddleOCR在规则的文件提取方面上,还是可以有一定的使用地位的。
4 个人总结
全网同名:
iterhui
我在AI Studio上获得至尊等级,点亮10个徽章,来互关呀~
更多推荐
所有评论(0)