之前弄服务器的时候无意间看到腾讯云有文字识别类的产品,在好奇的驱动下我点了进去,让就一发不可收拾。。。。。。。
废话不多说,直接开整
首先打开腾讯云的官网:https://cloud.tencent.com/
在云产品里找到文字识别

开通业务后,可以在右上角找到武林秘籍(开发文档)

大致内容就是以下几部分,其实大致看看就好了,不想看的也可以直接掠过(重点)。
通用印刷体识别(精简版)(免费公测版)

在这篇文章中:

  • 1. 接口描述
  • 2. 输入参数
  • 3. 输出参数
  • 4. 示例
    • 示例1 通用印刷体识别(精简版)示例代码
  • 5. 开发者资源
    • API Explorer
    • SDK
    • 命令行工具
  • 6. 错误码

1. 接口描述

接口请求域名: ocr.tencentcloudapi.com 。

本接口支持多场景、任意版面下整图文字的识别。相较于“通用印刷体识别”接口,精简版接口在准召率有一定损失的情况下,耗时更短。适用于对接口耗时较为敏感的客户。

默认接口请求频率限制:10次/秒。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。

[td]

参数名称

必选

类型

描述

Action

String

公共参数,本接口取值:GeneralEfficientOCR

Version

String

公共参数,本接口取值:2018-11-19

Region

String

公共参数,详见产品支持的 地域列表,本接口仅支持其中的: ap-beijing, ap-guangzhou, ap-hongkong, ap-shanghai, na-toronto

ImageBase64

String

图片的 Base64 值。
支持的图片格式:PNG、JPG、JPEG,暂不支持 GIF 格式。
支持的图片大小:所下载图片经Base64编码后不超过 3M。图片下载时间不超过 3 秒。
图片的 ImageUrl、ImageBase64 必须提供一个,如果都提供,只使用 ImageUrl。

ImageUrl

String

图片的 Url 地址。
支持的图片格式:PNG、JPG、JPEG,暂不支持 GIF 格式。
支持的图片大小:所下载图片经 Base64 编码后不超过 3M。图片下载时间不超过 3 秒。
图片存储于腾讯云的 Url 可保障更高的下载速度和稳定性,建议图片存储于腾讯云。
非腾讯云存储的 Url 速度和稳定性可能受一定影响。

3. 输出参数[td]

参数名称

类型

描述

TextDetections

Array of TextDetection

检测到的文本信息,具体内容请点击左侧链接。

RequestId

String

唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

文档中心  文字识别  API 文档  通用文字识别相关接口  通用印刷体识别(精简版)(免费公测版)
通用印刷体识别(精简版)(免费公测版)

在这篇文章中:

  • 1. 接口描述
  • 2. 输入参数
  • 3. 输出参数
  • 4. 示例
    • 示例1 通用印刷体识别(精简版)示例代码
  • 5. 开发者资源
    • API Explorer
    • SDK
    • 命令行工具
  • 6. 错误码

1. 接口描述

接口请求域名: ocr.tencentcloudapi.com 。

本接口支持多场景、任意版面下整图文字的识别。相较于“通用印刷体识别”接口,精简版接口在准召率有一定损失的情况下,耗时更短。适用于对接口耗时较为敏感的客户。

默认接口请求频率限制:10次/秒。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。

[td]

参数名称

必选

类型

描述

Action

String

公共参数,本接口取值:GeneralEfficientOCR

Version

String

公共参数,本接口取值:2018-11-19

Region

String

公共参数,详见产品支持的 地域列表,本接口仅支持其中的: ap-beijing, ap-guangzhou, ap-hongkong, ap-shanghai, na-toronto

ImageBase64

String

图片的 Base64 值。
支持的图片格式:PNG、JPG、JPEG,暂不支持 GIF 格式。
支持的图片大小:所下载图片经Base64编码后不超过 3M。图片下载时间不超过 3 秒。
图片的 ImageUrl、ImageBase64 必须提供一个,如果都提供,只使用 ImageUrl。

ImageUrl

String

图片的 Url 地址。
支持的图片格式:PNG、JPG、JPEG,暂不支持 GIF 格式。
支持的图片大小:所下载图片经 Base64 编码后不超过 3M。图片下载时间不超过 3 秒。
图片存储于腾讯云的 Url 可保障更高的下载速度和稳定性,建议图片存储于腾讯云。
非腾讯云存储的 Url 速度和稳定性可能受一定影响。

3. 输出参数[td]

参数名称

类型

描述

TextDetections

Array of TextDetection

检测到的文本信息,具体内容请点击左侧链接。

RequestId

String

唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 示例示例1 通用印刷体识别(精简版)示例代码输入示例

https://ocr.tencentcloudapi.com/?Action=GeneralEfficientOCR&ImageUrl=https://xx/a.jpg&<公共请求参数>

输出示例

{  "Response": {    "TextDetections": [      {        "DetectedText": "夏天的飞鸟,” 飞到我窗前唱歌,又飞去了。",        "Confidence": 93,        "Polygon": [          {            "X": 30,            "Y": 147          },          {            "X": 30,            "Y": 126          },          {            "X": 384,            "Y": 133          },          {            "X": 384,            "Y": 155          }        ],        "AdvancedInfo": "{\"Parag\":{\"ParagNo\":1}}"      },      {        "DetectedText": "秋天的黄叶,它们没有什么可唱,只叹息声,飞落在那里。",        "Confidence": 99,        "Polygon": [          {            "X": 27,            "Y": 200          },          {            "X": 27,            "Y": 179          },          {            "X": 532,            "Y": 185          },          {            "X": 532,            "Y": 206          }        ],        "AdvancedInfo": "{\"Parag\":{\"ParagNo\":2}}"      },      {        "DetectedText": "Stray birds of summer come to my window to sing and fly away.",        "Confidence": 79,        "Polygon": [          {            "X": 25,            "Y": 304          },          {            "X": 25,            "Y": 285          },          {            "X": 606,            "Y": 289          },          {            "X": 606,            "Y": 308          }        ],        "AdvancedInfo": "{\"Parag\":{\"ParagNo\":3}}"      },      {        "DetectedText": "And yellow leaves of autumn, which have no songs, flutter and fall there with a sign.",        "Confidence": 81,        "Polygon": [          {            "X": 24,            "Y": 357          },          {            "X": 24,            "Y": 339          },          {            "X": 782,            "Y": 342          },          {            "X": 782,            "Y": 360          }        ],        "AdvancedInfo": "{\"Parag\":{\"ParagNo\":4}}"      },      {        "DetectedText": "飞鸟集",        "Confidence": 99,        "Polygon": [          {            "X": 844,            "Y": 558          },          {            "X": 844,            "Y": 524          },          {            "X": 969,            "Y": 525          },          {            "X": 969,            "Y": 560          }        ],        "AdvancedInfo": "{\"Parag\":{\"ParagNo\":5}}"      },      {        "DetectedText": "STRAYBIRDS",        "Confidence": 99,        "Polygon": [          {            "X": 739,            "Y": 576          },          {            "X": 739,            "Y": 594          },          {            "X": 973,            "Y": 592          },          {            "X": 973,            "Y": 574          }        ],        "AdvancedInfo": "{\"Parag\":{\"ParagNo\":6}}"      }    ],    "RequestId": "8dd99adb-5144-43ca-8213-f6a929ce5075"  }}

5. 开发者资源API Explorer

该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。

  • API 3.0 Explorer

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

  • Tencent Cloud SDK 3.0 for Python
  • Tencent Cloud SDK 3.0 for Java
  • Tencent Cloud SDK 3.0 for PHP
  • Tencent Cloud SDK 3.0 for Go
  • Tencent Cloud SDK 3.0 for NodeJS
  • Tencent Cloud SDK 3.0 for .NET

命令行工具

  • Tencent Cloud CLI 3.0

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。

[td]

错误码

描述

FailedOperation.DownLoadError

文件下载失败。

FailedOperation.EmptyImageError

图片内容为空。

FailedOperation.ImageDecodeFailed

图片解码失败。

FailedOperation.ImageNoText

图片中未检测到文本。

FailedOperation.OcrFailed

Ocr识别失败。

FailedOperation.UnKnowError

未知错误。

FailedOperation.UnOpenError

服务未开通。

InvalidParameterValue.InvalidParameterValueLimit

参数值错误。

LimitExceeded.TooLargeFileError

文件内容太大。

ResourcesSoldOut.ChargeStatusException

计费状态异常。

=================================================================================================
略的同学看到这里!!!!
首先我们来看 ,【输入参数】

红色区域的参数基本上都是写死的,直接复制后面描述里的内容就行了。
黄色区域的两个参数二选一,如果你会将图片编码成Base64格式,推荐使用ImageBase64这个参数
当然不会的话,也可以使用ImageUrl这个参数,相比前者这个会慢一些。
很多同学会说说到这,我还是不会怎么用,没关系,慢慢来,淡定!!!!
接下来我们看,【输出参数】
很简单,两部分,TextDetections  和 RequestId,TextDetections  这个很重要,放到后面讲

RequestId 主要就是当出现问题的时候用来定位问题需要的参数。至于TextDetections 看一下后面实例中的返回参数自然就懂了

我们可以看到返回的数据是一个json,可以看到就是TextDetections  和 RequestId两部分,TextDetections里有五条数据,就是识别出来的五条数据。TextDetections里的参数代表的意义如下图:

说了这么久代码到底该怎么写
我只能说的,重要的代码几乎不用你来写,看过来!!!
看到开发文档的第5点(那里有神器)

打开后看到如下界面,一步一步操作

1.选择你的产品版本
2.选择开发语言
3.查看自己的密钥
4.填写密钥
5.选择地区
6.添加图片路径
7.复制代码
然后打开idea,创建maven项目,并利用插件转换成web项目(也可以用骨架)
大致项目结构如下
 
有关spring的配置这里不做讲解,跟平常一样没什么特别的。
看代码:
package com.tencent.controller;

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.ocr.v20181119.OcrClient;
import com.tencentcloudapi.ocr.v20181119.models.GeneralEfficientOCRRequest;
import com.tencentcloudapi.ocr.v20181119.models.GeneralEfficientOCRResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ORCController { @RequestMapping(value = "scan",produces = "application/json;charset=UTF-8" ) @ResponseBody    //imageAddr为图片的路径,前端调用传值。
    public String scan(String imageAddr){ try{
            System.out.println(imageAddr);
            Credential cred = new Credential("你的SecretId", "你的SecretKey");
HttpProfile httpProfile = new HttpProfile();
httpProfile.setEndpoint("ocr.tencentcloudapi.com");

ClientProfile clientProfile = new ClientProfile();
clientProfile.setHttpProfile(httpProfile);

OcrClient client = new OcrClient(cred, "ap-guangzhou", clientProfile);
String params = "{\"ImageUrl\":\""+imageAddr+"\"}";
GeneralEfficientOCRRequest req =                  GeneralEfficientOCRRequest.fromJsonString(params, GeneralEfficientOCRRequest.class);

GeneralEfficientOCRResponse resp = client.GeneralEfficientOCR(req);

System.out.println(GeneralEfficientOCRRequest.toJsonString(resp));

return GeneralEfficientOCRRequest.toJsonString(resp);
} catch (TencentCloudSDKException e) {

System.out.println(e.toString());
            return e.toString();
}
}
}
将之前在线调试时,代码main函数中的内容和导包的代码拷贝下来。注意导包的时候可能会包错需要在pom.xml中添加腾讯云的依赖文件
<dependency>   <groupId>com.tencentcloudapigroupId>
  <artifactId>tencentcloud-sdk-javaartifactId>
  <version>3.0.101version>
dependency> 看到前端请求,前端有个问题,因为上传图片的地址只能是url,所以对于没有服务器没有域名的我该怎么办,于是我到网上找到了一个可以上传的网络相册,大家可以自己到网上搜索,我使用的那个叫做帖图库,同样有开发文档和实例 然后就是编写前端页面啦,这里我使用的是bootstrap+jQuery来写的jsp。这里就只放出识别请求和上传图片的js代码,页面大家可以按自己的需求编写发送请求到后台识别文字 <script>     $(function () {         scan(); });     var url;     function scan() {        $("#scanBtn").click(function () {            $.ajax({                url:"/scan.do",                data:{"imageAddr":url},                success:function (reasult) {                    var str="";                    var datas = reasult.TextDetections;                    for (item of datas){                        str+=item.DetectedText+"
"
; }                    $("#getReasult").html(str); } }); }); } script>上传图片的请求<script>     $(':button').click(function(){         var formData = new FormData($('form')[0]);         $.ajax({             url: 'http://up.imgapi.com/',             type: 'POST',             xhr: function() {                 myXhr = $.ajaxSettings.xhr();                 if(myXhr.upload){                     myXhr.upload.addEventListener('progress',progressHandlingFunction, false); }                 return myXhr; },             beforeSend: function(){                 $('progress').show(); },             success: function(data){                 console.log(data);                 alert("上传成功");                 url = data.linkurl; },             error: function(data){                 console.log(data); },             data:formData,             cache: false,             contentType: false,             processData: false }); });     function progressHandlingFunction(e){         if(e.lengthComputable){             $('progress').attr({value:e.loaded,max:e.total}); } } script>
注意要定义一个全局变量url,因为在请求识别的时候有用到哦!!!!这里的上传文件的请求,大家可以直接下载贴图库的案例,然后按需求再去修改就可以了。
最后看一下效果吧!识别结果不是百分百准确,因为毕竟是免费的嘛

更多Java学习资料可关注:gzitcast

实战腾讯云ORC文字识别相关推荐

  1. 通用印刷体识别 php,实战腾讯云ORC文字识别

    本帖最后由 792858525 于 2019-11-8 16:16 编辑 之前弄服务器的时候无意间看到腾讯云有文字识别类的产品,在好奇的驱动下我点了进去,让就一发不可收拾....... 废话不多说,直 ...

  2. 前端直接跨域到腾讯云ocr文字识别(失败)

    前端直接跨域到腾讯云ocr文字识别 '/tx': {target: txUrl,// secure: false,changeOrigin: true, // 是否跨域// logLevel: 'de ...

  3. 腾讯云OCR文字识别的使用

    一 什么是OCR? OCR就是图片文字识别的技术,即将图片的文字信息智能提取出来属于人工智能的范畴.之前用过OCR图像文字识别来作用户身份证上传提取身份信息的功能和上传银行卡来获取银行卡信息的功能. ...

  4. 搭建腾讯云通用文字识别General OCR项目及代码部署图文教程

    又双叒叕开始折腾新项目啦,今天研究什么呢?搭建一个图片文字识别,项目所需,都知道微信的扫一扫可以识别很多东西,之前搭建的扫码演示源代码直接拿过来使用识别,发现不行,,,只能扫码,其余的都不行,好吧,参 ...

  5. 通过腾讯云的文字识别进行图文转换【java】

    0.pom依赖 <!--Jedis--><dependency><groupId>redis.clients</groupId><artifact ...

  6. 使用腾讯OCR进行文字识别

    文章目录 OCR效果 配置腾讯云OCR准备工作 注册账号 创建秘钥 使用万象优图创建Bucket 操作指引 实现代码 生成签名 配置网络请求,调用OCR识别接口 写在后面 使用腾讯智能文字识别 OCR ...

  7. 调用腾讯云OCR接口识别身份证和户口本

    一.添加项目pom文件依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson ...

  8. 百度云AI文字识别SDK在node中的使用

    本文将介绍如何在koa项目中使用百度云AI文字识别SDK 文章目录 前言 使用步骤 前言 本文通过使用百度云AI文字识别SDK来实现身份证识别和手写签名识别功能来描述OCR SDK的使用方式 使用步骤 ...

  9. 【Python】调用百度云API文字识别服务 OCR

    # encoding:utf-8 # !/usr/local/bin/python3# 百度云:文字识别服务 # 应用名称:文字识别练习项目import urllib3 from urllib.par ...

  10. 华为云OCR文字识别 免费在线体验!

    嘿,华为云OCR文字识别了解一下,免费在线体验! 物流行业快速提取运单信息.医疗/保险行业单据快速录入.政务办事人证检验,你知道这些都是如何实现的么? 答案就是:OCR文字识别! 作为AI时代效率倍增 ...

最新文章

  1. 【转】利用WCF的双工通信
  2. 【dmp文件还原到oralce数据库】
  3. 用于单片机的几种C语言算法
  4. 中信国健临床通讯2011年1月第1期目录
  5. 在Eclipse中用Maven打包jar包--完整版
  6. TensorFlow tf.keras.layers.conv2D
  7. OCP 12c最新考试原题及答案(071-7)
  8. grpc python stream_Python gRPC笔记
  9. 武汉大学2014年基础数学面试全过程
  10. 手把手教你申请计算机软件专利著作权(3)——软件使用说明书
  11. installshield2020打包教程
  12. 平流干旱模型matlab,北半球干旱区降水转化和再循环特征及其在全球变暖背景下的变化...
  13. npm报错, Error: EPERM: operation not permitted, mkdir
  14. 20190328-几种数据清洗的方法
  15. 安卓系统手机如何用作电脑摄像头使用及解决方法
  16. Unity3D 中LookAt()方法
  17. 今日早报 每天一分钟知晓天下事 3-13
  18. LODOP属性和方法
  19. zzuli 1131
  20. AIDE手机编程初级教程(零基础向) 第二章序言

热门文章

  1. [转载]三、二、一 …… Geronimo!,第 4 部分: 模式
  2. Android 时间API
  3. 李春葆《数据结构教程》课后习题和实验代码
  4. 私家车对PM2.5的贡献到底有多少?
  5. 关于我想往自己写的管理系统登陆界面插个背景图片却一直被复制粘贴的网络方法误导这件事---JFrame设置背景图片
  6. 入侵大型网站的完整思路
  7. 像电影里的黑客高手一样敲代码攻击入侵网站!装逼神器 !
  8. 2.4g低功耗SI24R1校园答题器
  9. python counter转换为列表_Python标准库---collections.counter
  10. 思路清晰的软光栅小引擎和四元数结合案例