1、OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;

这里讲的是通过代码识别图片里的文字。

2、准备

 String host = "https://ocrapi-document.taobao.com";//不变String path = "/ocrservice/document";//不变String method = "POST";//不变String appcode = "27b621bd285de290";//需要修改

3、pom.xml

<dependencies><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.15</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.2.1</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpcore</artifactId><version>4.2.1</version></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-util</artifactId><version>9.3.7.v20160115</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.5</version><scope>test</scope></dependency></dependencies>

4、代码

package com.ekz.aliocr.aliocr;import java.util.HashMap;
import java.util.Map;import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;/** * @author: py* @version:2018年3月16日 下午2:50:32 * com.ali.ocr.TestAliOcr.java* @Desc */
public class AliOcrTest {public static void main(String[] args) {String host = "https://ocrapi-document.taobao.com";//不变String path = "/ocrservice/document";//不变String method = "POST";//不变String appcode = "27b621bd285de290";//需要修改Map<String, String> headers = new HashMap<String, String>();//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105headers.put("Authorization", "APPCODE " + appcode);//根据API的要求,定义相对应的Content-Typeheaders.put("Content-Type", "application/json; charset=UTF-8");Map<String, String> querys = new HashMap<String, String>();
//      + "//图像数据:base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,和url参数只能同时存在一个"
//      + "//图像url地址:图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,和img参数只能同时存在一个"
//      + "//是否需要识别结果中每一行的置信度,默认不需要。true:需要false:不需要"String bodys = "{"+ "\"img\":\"\","+ "\"url\":\"https://ss.oss-cn-shenzhen.aliyuncs.com/test/%E6%89%8B%E6%9C%AF%E8%AE%B0%E5%BD%95.jpg\","+ "\"prob\":false}";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的bodyString message = EntityUtils.toString(response.getEntity()) ;System.out.println(message);JSONObject parseObject = JSONObject.parseObject(message);
//          String sid = parseObject.getString("sid");
//          String prism_version = parseObject.getString("prism_version");JSONArray jan = parseObject.getJSONArray("prism_wordsInfo");if(jan!=null||jan.size()!=0){ for(int i=0;i<jan.size();i++){ JSONObject jo = JSONObject.parseObject(jan.get(i).toString());String word = jo.getString("word"); System.out.println(word);        } } } catch (Exception e) {e.printStackTrace();}}
}

图片url路径:

https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1523367775393&di=4cd8a2c97a08eeba1ed6b60213735be3&imgtype=0&src=http%3A%2F%2Fimg5q.duitang.com%2Fuploads%2Fitem%2F201504%2F08%2F20150408H2909_4vuxK.thumb.700_0.jpeg

5、打印结果

{"sid":"fa25cfae90d563319258ee98702ae785286c209d319256977ac03b63f2390ccf26ab2529","prism_version":"1.0.6","prism_wnum":14,"prism_wordsInfo":[{"word":"的流而","pos":[{"x":162,"y":74},{"x":367,"y":74},{"x":367,"y":111},{"x":162,"y":111}]},{"word":"公的种子从远处回","pos":[{"x":10,"y":157},{"x":451,"y":147},{"x":452,"y":199},{"x":11,"y":209}]},{"word":"聚成伞的旋样","pos":[{"x":469,"y":137},{"x":695,"y":137},{"x":695,"y":193},{"x":469,"y":193}]},{"word":"大阳边斗起,向东方","pos":[{"x":68,"y":227},{"x":467,"y":210},{"x":469,"y":256},{"x":70,"y":273}]},{"word":"动员日列起跑线上","pos":[{"x":69,"y":363},{"x":415,"y":344},{"x":417,"y":385},{"x":71,"y":405}]},{"word":"我友网录取通和书,高3t年窗","pos":[{"x":52,"y":436},{"x":615,"y":402},{"x":618,"y":452},{"x":55,"y":486}]},{"word":"厨房里飘来饭的香","pos":[{"x":70,"y":507},{"x":412,"y":484},{"x":415,"y":534},{"x":73,"y":557}]},{"word":"你美掉电视帮戒把书包背上","pos":[{"x":78,"y":573},{"x":568,"y":537},{"x":572,"y":585},{"x":81,"y":621}]},{"word":"龙退回记平我","pos":[{"x":77,"y":644},{"x":355,"y":626},{"x":358,"y":670},{"x":80,"y":688}]},{"word":"成走园乡间小路上","pos":[{"x":389,"y":624},{"x":686,"y":605},{"x":689,"y":648},{"x":392,"y":666}]},{"word":"闭着眼哪着峰","pos":[{"x":69,"y":712},{"x":348,"y":691},{"x":351,"y":740},{"x":73,"y":761}]},{"word":"戒大","pos":[{"x":364,"y":691},{"x":547,"y":675},{"x":550,"y":716},{"x":368,"y":732}]},{"word":"你还在戒身","pos":[{"x":88,"y":776},{"x":342,"y":769},{"x":343,"y":819},{"x":89,"y":826}]},{"word":"(借用一封微情书)","pos":[{"x":453,"y":871},{"x":610,"y":867},{"x":611,"y":889},{"x":453,"y":893}]}]}
的流而
公的种子从远处回
聚成伞的旋样
大阳边斗起,向东方
动员日列起跑线上
我友网录取通和书,高3t年窗
厨房里飘来饭的香
你美掉电视帮戒把书包背上
龙退回记平我
成走园乡间小路上
闭着眼哪着峰
戒大
你还在戒身
(借用一封微情书)

6、手写的字错误率比较高,一般用来识别印刷字。同时ocr技术在各个云平台都有提供,比如腾讯云,百度云等

阿里OCR扫描字识别demo相关推荐

  1. 比天若OCR,PandaOCR更方便使用的OCR扫描文字识别软件,易用AI

    目前市面上各种各样的OCR软件从技术上大概可以分为两大类,离线版和云端在线版.离线版的代表如 Abbyy FineReader,在线版如各大头部AI平台开放的OCR接口能力.一般在线版比离线版的识别能 ...

  2. 图片扫描文字识别工具:text scanner mac中文版

    Text Scanner 高级版是一款mac用户必备的超强OCR扫描截图识别翻译软件,Text Scanner mac中文版基于AI领先的深度学习算法,利用光学字符识别技术,将图片上的文字内容,直接转 ...

  3. OpenCV实践小项目(二) -文档ocr扫描识别

    1. 写在前面 今天整理OpenCV入门的第二个实战小项目, 前一篇文章是信用卡数字识别, 主要运用了OpenCV基础图像处理操作里面的轮廓检测, 边缘检测,形态学操作, 今天的这个项目叫做文档ocr ...

  4. 阿里云 OCR 图片文字识别接口使用案例(java)

    阿里云 OCR 图片文字识别接口使用案例(java) 阿里云官方接口文档 前期需要完成 购买阿里云服务 购买服务 可以购买测试服务.每个阿里云用户可以购买1次免费的500次接口请求进行测试 购买完成之 ...

  5. Java调用阿里OCR接口实现印刷文字识别

    印刷文字识别(OCR):通俗来讲就是将图片中的印刷文字识别出来. 阿里云提供了多种OCR服务,在此使用的是印刷文字识别-文档小说图片文字识别,主要用于企业文档,法律法务文档,信件等,以及小说,文学类书 ...

  6. 阿里云OCR身份证信息识别

    阿里云OCR身份证信息识别 这里使用的是base64 public JSONObject getCard(MultipartFile file) {String host = "https: ...

  7. Python进行图片文字识别(表格图片)(使用阿里OCR接口)

    使用阿里OCR接口进行图片识别 这里仅做代码的记录,用于后续的快速工作.不会进行太多代码的讲解,如果你也刚好需要的话,还需要结合阿里的OCR文档,会更快速. 阿里OCR链接:https://dugua ...

  8. 给满分为其点赞的增值税发票OCR扫描识别系统

    财务管理是企业管理中至关重要的组成部分,每个企业的生存与发展都需要良好完善的财务管理.作为企业进销存活动的重要凭证,发票尤为重要.随着企业活动的增加,企业内部充斥着大量发票,这些发票纸张轻薄,采用专门 ...

  9. ocr扫描识别软件操作步骤

    ocr扫描识别软件操作步骤 照片大家肯定不陌生,可以记录下不同的事物,这其中也包括文字,照片中的文字不能直接被复制编辑,所以在使用的时候需要将照片转换成word,这个时候就会用到照片转换成word转换 ...

最新文章

  1. java 启动参数_网红框架SpringBoot2.x之定制参数浅析(一)
  2. Loonframwork到SWT的移植测试(JAVA GAME TEST SOURCE)
  3. cufflinks基于QuantFig绘制高级金融图
  4. python窗口动态实时显示时间_苏州2.8寸串口屏厂家:切管机触摸屏实时动态显示切割过程...
  5. Mysql 面试复习
  6. 读取xml忽略dtd验证
  7. 不同年龄段给狗狗起名字,我命中了,你呢?
  8. AI+5G:2019.03.31第11届中国(深圳)IT领袖峰会【IT新未来: 5G与人工智能】内容概要
  9. Microsoft .NET:Microsoft .NET之.net4.5.1简介、安装、使用方法之详细攻略
  10. 计算机网络电缆被拔出是怎么办,网络电缆被拔出是什么意思?网络电缆被拔出的修复办法...
  11. 张朝阳:选校草、跑马拉松、开5G峰会 搜狐最近要干这些事
  12. 高德地图+Serverless 护航你的假日出行
  13. iOS开发之字符串(NSString)的截取的几种方法
  14. 新手上路学习配置C,C++,GTK等开发环境
  15. ios判断点击的坐标点
  16. 《微观经济学》第四章供给与需求的市场力量
  17. 威信游戏小程序源码-合成大西瓜小游戏(合成版)源码 附带流量主功能
  18. 使用iRedMail 搭建邮件服务器
  19. 元数据管理实践数据血缘
  20. 制作桌面进制转换(二进制,八进制,十进制,十六进制)小工具 Python学习日记 2.28~3.6

热门文章

  1. 《Android 应用 之路》 每日一文简单版Kotlin
  2. 奶瓶仔xp主题【主题世界】
  3. 零基础入门--中文实体关系抽取(BiLSTM+attention,含代码)
  4. mac下 内存分析工具mat安装,使用mat分析:内存溢出、内存泄漏,结合jstat、jmap等命令的使用
  5. 浏览器兼容性调整(非原创)
  6. 无人便利店代理合作——从智能行业风口分析无人便利店前景
  7. thymeleaf模板 在html中引入另一个html
  8. 【托业】【跨栏】TEST05
  9. 批处理是什么?能干什么?
  10. SQL Server查询分类汇总