百度云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();
        }
    }
}
  • 识别模式选择

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

相关推荐
winfredzhang1 分钟前
9.7GB AI 模型总下崩?我用 Python 写了个支持分段续传的多线程下载器(源码解析)
人工智能·大语言模型·多线程·下载·多任务
深蓝AI3 分钟前
不生成文本的AI日吞一万亿Token:决策模型Jev撕开大模型的替代路线
人工智能·ai编程
小宋102110 分钟前
一套服务托管多个 LoRA:适配器加载、租户隔离与热切换实战
大数据·人工智能·算法
思考着亮10 分钟前
14.Agentic RAG -3
人工智能
黑妹天下第一乖10 分钟前
第 04 讲:阿加犀 AIMO 模型优化平台与 Model Farm 模型广场实战
人工智能·嵌入式硬件·矩阵·架构·iot
郝学胜_神的一滴10 分钟前
AI 编程智能体 06:用Anaconda搞定Python多环境,彻底告别版本兼容灾难
人工智能·python
橘和柠11 分钟前
显存计算与模型选择:你的显卡能跑多大的模型
人工智能
黑妹天下第一乖13 分钟前
第08讲 · 视觉与相机流水:Spectra ISP 与实时检测
人工智能·嵌入式硬件·数码相机·机器人·接口隔离原则·iot
alonglong15 分钟前
8,513 个向量、0.21 毫秒:给本地知识库搭一套语义检索,不引向量数据库
人工智能
数聚天成DeepSData15 分钟前
OPUS 不是一份统一许可证的语料:子语料许可如何逐项管理?
人工智能·深度学习·机器学习·数据集·deepsdata