【校园AI Day-AI workshop】自定义区域OCR识别文件重命名

P粉084495128
发布: 2025-07-30 11:20:29
原创
926人浏览过
校园AI Day的AI工作坊任务为:用OCR技术识别30张交付验收单的铁塔名称,实现图片重命名。方案采用PaddleHUB+后处理,低代码实现,准确率100%。实施含数据准备(上传至指定路径)、环境准备(安装相关库)、执行输出(定义函数提取名称并遍历重命名至输出目录)。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

【校园ai day-ai workshop】自定义区域ocr识别文件重命名 - php中文网

【校园AI Day-AI workshop】自定义区域OCR识别文件重命名

1背景介绍

任务描述:在实际的工作中,有时候需要根据图片中的指定区域进行重命名,通过OCR技术实现可自主框选识别区,实现识别内容的精确提取。本任务提供30张交付验收单,需要通过OCR技术识别图片中的铁塔名称,并根据该字段完成对图片的重命名

2解决方案

2.1数据分析

  • 数据情况:制式标准表单
  • 数据量:30张扫描数据【校园AI Day-AI workshop】自定义区域OCR识别文件重命名 - php中文网            

2.2表单识别介绍

参考《多模态技术在金融场景创新实践:表单识别》

稿定AI社区
稿定AI社区

在线AI创意灵感社区

稿定AI社区60
查看详情 稿定AI社区
  • 表单识主流方案:单模态和多模态
【校园AI Day-AI workshop】自定义区域OCR识别文件重命名 - php中文网        
图1 表单识别解决方案
【校园AI Day-AI workshop】自定义区域OCR识别文件重命名 - php中文网        
图2 单模态解决方案分析
【校园AI Day-AI workshop】自定义区域OCR识别文件重命名 - php中文网        
图3 多模态表单识别流程图

2.3本项目拟采取思路

【校园AI Day-AI workshop】自定义区域OCR识别文件重命名 - php中文网        

  • 基于PaddleHUB+后处理(低代码快速实现文本提前)
  • 准确率100%

3实施过程

3.1数据准备

本项目没有专门数据集挂载,自行从本地上传到/home/aistudio/work/data

In [ ]
#创建文件夹,上传数据#!mkdir work/data!tree work/data
登录后复制
   

3.2环境准备

In [ ]
#安装 paddlehub!pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple

!pip install paddlehub==2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
登录后复制
   

3.3执行输出

In [ ]
#定义获取名称函数import paddlehub as hubimport cv2
ocr = hub.Module(name="ch_pp-ocrv3") 

def get_name(fn):
 
    img = cv2.imread(fn)
    result = ocr.recognize_text(images=[img])    
    #1找到铁塔名称
    indx = 0
    r_data = result[0]['data']    for i in range(len(r_data)):        if '塔名称' in r_data[i]['text']:            #print(r_data[i]['text_box_position'])
            indx = i            break
        
    #2找到铁塔名称
    #垂直方向加权,铁塔名称答案在一条直线上
    weight_y = 4
    #找到离铁塔名称最近的识别框
    p_x = (r_data[indx]['text_box_position'][1][0] + r_data[indx]['text_box_position'][2][0])/2 
    p_y = (r_data[indx]['text_box_position'][1][1] + r_data[indx]['text_box_position'][2][1])/2
    min_d = p_x + p_y
    name_idx = 0
    for i in range(len(r_data)):        #排除自己
        if i == indx:            continue
        x = (r_data[i]['text_box_position'][0][0] + r_data[i]['text_box_position'][3][0])/2
        y = (r_data[i]['text_box_position'][0][1] + r_data[i]['text_box_position'][3][1])/2
        dis = abs(p_x-x) + abs(p_y - y)*weight_y        #print('{0}:{1}'.format(dis,r_data[i]['text']))
        if dis < min_d:
            min_d = dis
            name_idx = i
    name = r_data[name_idx]['text']    
    #3搜索夸行问题
    
    weight_x =1
    #底部两个点中点
    p_x = (r_data[name_idx]['text_box_position'][2][0] + r_data[name_idx]['text_box_position'][3][0])/2 
    p_y = (r_data[name_idx]['text_box_position'][2][1] + r_data[name_idx]['text_box_position'][3][1])/2
    
    min_d = 20 # 距离小于20存在跨行
    
    for i in range(len(r_data)):        #排除自己
        if i == name_idx:            continue
        x = (r_data[i]['text_box_position'][0][0] + r_data[i]['text_box_position'][1][0])/2
        y = (r_data[i]['text_box_position'][0][1] + r_data[i]['text_box_position'][1][1])/2
        dis = abs(p_x-x)*weight_x + abs(p_y - y)        #print('{0}:{1}'.format(dis,r_data[i]['text']))
        if dis < min_d:
            name += r_data[i]['text'] 
            break   
    
    return name
登录后复制
   
代码解释
In [ ]
#遍历重命名文件!mkdir work/outputimport os
img_dir = 'work/data'output_dir = 'work/output'for pic in os.listdir(img_dir):
    fn = os.path.join(img_dir,pic)
    name = get_name(fn)    print('{0}:{1}'.format(fn,name))    import shutil
    shutil.copy(fn,os.path.join(output_dir,name + fn[-9:]))
登录后复制
   

以上就是【校园AI Day-AI workshop】自定义区域OCR识别文件重命名的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号