当前位置: 首页 > article >正文

通用文字识别API如何通过Java进行调用?(一)

一、什么是通用文字识别?

通用文字识别又叫通用文字OCR识别,文字识别,文字图片识别,通用文字识别是一种算法识别技术,它能够将图像中的文字转换为可编辑的文本格式,可支持多种类型图片类型。

二、通用文字识别适用哪些场景?

例如:

1.办公领域:可快速将纸质文档转换为电子文档,便于编辑、存储和搜索。例如,扫描合同、文件等,提高工作效率。

2.教育领域:用于识别教材、笔记中的文字,方便学生整理学习资料。

3.互联网应用:在社交媒体中自动识别图片中的文字,以便进行搜索和分类;在电商平台中,识别商品图片上的文字信息。

三、如何用Java进行通用文字识别接口调用?

下面我们以阿里云为例,通过Java实现调用:

	public static void main(String[] args) {
	    String host = "https://kzwordocr.market.alicloudapi.com";
	    String path = "/api-mall/api/general/ocr";
	    String method = "POST";
	    String appcode = "你自己的AppCode";
	    Map<String, String> headers = new HashMap<String, String>();
	    //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
	    headers.put("Authorization", "APPCODE " + appcode);
	    //根据API的要求,定义相对应的Content-Type
	    headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	    Map<String, String> querys = new HashMap<String, String>();
	    Map<String, String> bodys = new HashMap<String, String>();
	    bodys.put("image", "image");
	    bodys.put("url", "url");


	    try {
	    	/**
	    	* 重要提示如下:
	    	* HttpUtils请从
	    	* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
	    	* 下载
	    	*
	    	* 相应的依赖请参照
	    	* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
	    	*/
	    	HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
	    	System.out.println(response.toString());
	    	//获取response的body
	    	//System.out.println(EntityUtils.toString(response.getEntity()));
	    } catch (Exception e) {
	    	e.printStackTrace();
	    }
	}

正确返回示例如下:

{
    "msg": "成功",
    "success": true,
    "code": 200,
    "data": {
        "orderNo": "202407102026336827870",
        "info": [
            {
                "line_no": 0, //文本行编号,按从左至右、从上至下顺序依次排列
                "confidence": 0.96655273, //行文本识别置信度 0-1 
                "line_content": "姓名", //识别出的文本行内容
                "line_position": {
                    "x": 53,
                    "width": 53,
                    "y": 66,
                    "line_direction": 0,
                    "height": 22
                }
            },
            {
                "line_no": 1,
                "confidence": 0.98909503,
                "line_content": "陈海江",
                "line_position": {
                    "x": 102,
                    "width": 63,
                    "y": 63,
                    "line_direction": 0,
                    "height": 23
                }
            }
        ]
    }
}


line_no		文本行编号,按从左至右、从上至下顺序依次排列
line_content	识别出的文本行内容
confidence	行文本识别置信度
line_position	文本行位置信息,表示为坐标和旋转角度(左上角X,左上角Y,宽Width,高Height,旋转角度Line Position)+x左上角顶点横坐标X +y	左上角顶点纵坐标Y
width	        矩形框的宽
height		矩形框的高
line_direction	文本行的旋转角度
words		文本行内单字符的内容数组,数组元素为一个Json结构,包含character和confidence
character	候选字符character
confidence	单字符的识别置信度


http://www.kler.cn/a/287332.html

相关文章:

  • Windows docker下载minio出现“Using default tag: latestError response from daemon”
  • web应用安全和信息泄露预防
  • 计算机编程中的测试驱动开发(TDD)及其在提高代码质量中的应用
  • 【qt】控件3
  • 鸿蒙北向开发环境安装指南
  • 鸿蒙动画开发07——粒子动画
  • Python知识点:如何使用Appium进行移动应用测试
  • Linux基础(包括centos7安装、linux基础命令、vi编辑器)
  • three.js 开发粒子系统
  • RCU概念
  • 【QNX+Android虚拟化方案】101 - Android GVM 虚拟网络 Virt-Net 配置
  • 数学基础 -- 线性代数之酉矩阵
  • git笔记 -- 日志搜索的方法
  • JAVA HttpUrlConnection 使用 GZIP 编码压缩
  • 学习如何更好向GPT提问
  • 从跟跑到领跑:AIGC时代国产游戏的崛起与展望
  • SpringCloud乐尚代驾学习笔记:项目概述(一)
  • prometheus download all
  • PMC如何建立有效的监控系统来及时发现生产计划的偏离?
  • git version 2.37.0 如何删除远程分支
  • 【单片机开发】单片机的烧录方式详解(ICP、IAP、ISP)
  • Datawhale X 李宏毅苹果书 AI夏令营 Task 3
  • 介绍一下KAFKA的ACK机制?
  • 2024前端面试题分享
  • 【mac】MAC命令快速模糊查找文件
  • 遥控器新手操作指南!!!