百度云IOCR自定义模版分类器进行文字识别(非通用文字识别)

  • 模版管理

云账号登录

访问模版管理地址:点击下面地址新建模版

百度智能云-登录https://ai.baidu.com/iocr?castk=4819agr76c7d09971d248#/templatelist/1

  • 添加模版

如果有模版,识别效果不理想可以编辑上述模版,如果新的报表格式可以新建模版

分为两步:

参照字段:这个报表特有的特征
识别区:框选识别区域,可以调整大小,直到识别效果最优

  • 分类器训练(AI) 自动根据上传标本图像自动识别模版并识别

点击编辑或者新增,选择模版,上传海量数据标本,进行模型训练

  • 模版部分 Over !

  • Java代码实现

文档地址: 文字识别OCR (baidu.com)https://ai.baidu.com/ai-doc/OCR/Ek3h7y961

工具类先可以自行下载

java 复制代码
package com.baidu.ocr;

import com.baidu.ai.aip.utils.Base64Util;
import com.baidu.ai.aip.utils.FileUtil;
import com.baidu.ai.aip.utils.HttpUtil;


public class App 
{
    public static void main(String[] args) throws Exception
    {
        /**
         * 重要提示代码中所需工具类
         * FileUtil,Base64Util,HttpUtil,GsonUtils请从
         * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
         * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
         * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
         * https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
         * 下载
         */
        // iocr识别apiUrl
        String recogniseUrl = "https://aip.baidubce.com/rest/2.0/solution/v1/iocr/recognise";


        String filePath = "path	oyourimage.jpg";
        try {
                byte[] imgData = FileUtil.readFileByBytes(filePath);
                String imgStr = Base64Util.encode(imgData);
                // 请求模板参数
                String recogniseParams = "templateSign=your_template_sign&image=" + URLEncoder.encode(imgStr, "UTF-8");
                // 请求分类器参数
                String classifierParams = "classifierId=your_classfier_id&image=" + URLEncoder.encode(imgStr, "UTF-8");
                
                
                String accessToken = "your_access_token";
                // 请求模板识别
                String result = HttpUtil.post(recogniseUrl, accessToken, recogniseParams);
                // 请求分类器识别
                // String result = HttpUtil.post(recogniseUrl, accessToken, classifierParams);
                
                System.out.println(result);
        } catch (Exception e) {
                e.printStackTrace();
        }
    }
}
  • 识别模式选择

如果模版少,自行维护模版,可以使用选择模版的方式进行识别,模版过多,可以使用分类器训练模型,自动根据上传的图片识别模版并识别,此为终极奥义!

相关推荐
苹果二8 分钟前
【案例说明】能源行业中融合知识图谱、LLM与AI Agent的知识工程实践
人工智能·ai智能体·pem·phm·能源行业·知识工程·pqm
陈童学哦9 分钟前
NestJS集成LangChain两条路:封装库躺平 vs 手动硬撸
人工智能
markvivv10 分钟前
【译】适合在RTX 5090、DGX Spark或类似机器上可运行的最佳新模型是什么?
大数据·人工智能·spark
caimouse11 分钟前
ReactOS 窗口系统分析(31):TextOutW 文本输出全链路 — 从用户函数到显示缓冲区的旅程
网络·人工智能·计算机视觉
sunneo12 分钟前
每周GitCode开源项目精选
人工智能
zhangfeng113314 分钟前
HiDevLab vCANNLab(昇腾两个云端WebIDE)安装codebuddy
人工智能·ai编程·算子开发
leeyi14 分钟前
Agent 间 Transfer 交接:用户在不同 Agent 间无缝切换(第93篇-E79)
人工智能·aigc·agent
很楠爱上16 分钟前
从“AI 看合同”到可举证的合同决策链:CounterClause(对薄) 的架构设计与工程实践
人工智能·经验分享·python·学习·agent
Java后端的Ai之路17 分钟前
02、Python普通工厂模式
开发语言·人工智能·python·设计模式·普通工厂模式
爱奥尼欧19 分钟前
14.输出解析器-Pydantic与JSON
人工智能·学习·langchain·json