{"person":"韦小宝","sex":"男","nation":"汉","birthday":"1654年12月20日","adress":"北京市东城区景山前街4号紫禁城敬事房","idcard":"11204416541220243X"}

解析ocr识别结果

 onGetImgClick: function() {uni.chooseImage({success: (chooseImageRes) => {const tempFilePaths = chooseImageRes.tempFilePaths;console.log('向服务器发送ocr识别图片')const uploadTask = uni.uploadFile({url: 'http://192.168.2.31:8000/api/ocr', //接口地址filePath: tempFilePaths[0],name: 'file',formData: {'user': 'test'},success: (uploadFileRes) => {console.log('收到服务器返回识别数据')// console.log(uploadFileRes.data);var strjson = JSON.parse(uploadFileRes.data).data;// console.log(strjson);var restmp = strjson.split('\n')// console.log(reslist.length);var reslist = []var idjson = {}//排除相似度低的数据restmp.forEach(function(value, index, arr) {var tmp = value.split('\t')if (parseFloat(tmp[1]).toFixed(1) > 0.5) {reslist.push(value)}})console.log("解析开始");//解析for (var i = 0; i < reslist.length; i++) {var tmp = reslist[i].split('\t')var str = tmp[0];// 姓名if (i === 0) {if (str.indexOf("姓名") >= 0 && str.length >2) { //姓名标签 同一行idjson.person = str.replace("姓名", "")} else { //姓名标签 不同行idjson.person = str}}//性别if ((str.indexOf("男") >= 0 && str.length === 1) || (str.indexOf("女") >= 0 && str.length === 1)) { //性别标签 不同行(单个存在)idjson.sex = str} else if (str.indexOf("性别") >= 0 && str.length >2) { //性别标签 同一行idjson.sex = str.replace("性别", "")}//民族 看前后数据判断if (str.indexOf("民族") >= 0 && str.length > 2) { //民族标签 同一行idjson.nation = str.replace("民族", "")} else if (str.indexOf("民族") >= 0 && str.length ===2) { //民族标签 不同行//看前后数据var tmp1 = reslist[i - 1].split('\t')var tmp2 = reslist[i + 1].split('\t')if (tmp1[0].indexOf("性别") >= 0 || tmp1[0].indexOf("男") >= 0 || tmp1[0].indexOf("女") >= 0) {idjson.nation = tmp2[0] //取后边数据} else {idjson.nation = tmp1[0] //取前边数据}}//出生年月if (str.indexOf("出生") >= 0 && str.length ===2) { //出生标签 不同行var tmp1 = reslist[i - 1].split('\t')var tmp2 = reslist[i - 2].split('\t')idjson.birthday = tmp1[0] + tmp2[0]} else if (str.indexOf("出生") >= 0 && str.length >2) { //出生标签 同一行idjson.birthday = str.replace("出生", "")}//住址if (str.indexOf("住址") >= 0 && str.length ===2) { //住址标签 不同行var tmp1 = reslist[i - 1].split('\t')var tmp2 = reslist[i + 1].split('\t')idjson.adress = tmp1[0] + tmp2[0]} else if (str.indexOf("住址") >= 0 && str.length >2) { //住址标签 同一行var tmp2 = reslist[i + 1].split('\t')idjson.adress = str.replace("住址", "") + tmp2[0]}//身份证号 正则匹配if (str.indexOf("公民身份") >= 0 && str.length <10) { //身份号码标签 不同行var tmp1 = reslist[i - 1].split('\t')idjson.idcard = tmp1[0]} else if (str.indexOf("公民身份") >= 0 && str.length >10) { //身份号码标签 同一行//正则匹配 身份证号var strid = getIDcard(str)idjson.idcard = strid}}console.log("解析结束");console.log(idjson);//----------------}});uploadTask.onProgressUpdate((res) => {// console.log('上传进度' + res.progress);// console.log('已经上传的数据长度' + res.totalBytesSent);// console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);// 测试条件,取消上传任务。// if (res.progress > 50) {//    uploadTask.abort();// }});}});function getIDcard(string) {var reg = /[0-9,X,x]/;var num = 0;var IDarr = "";var arr = string.split("");for (var i = 0; i < arr.length; i++) {var item = arr[i];if (reg.test(item)) {num++;IDarr += "" + item;if (num == 18) {// console.log(IDarr.toString())}} else {num = 0;IDarr = "";}}return IDarr;}

uniapp 请求自建ocr服务识别身份证相关推荐

  1. 身份证正反面识别,身份证扫描识别,二代身份证 OCR 识别,OCR 极速识别身份证所有信息正反面均可。离线无需联网,极速秒扫。

    IdCardOCR 项目地址:XieZhiFa/IdCardOCR 简介:身份证正反面识别,身份证扫描识别,二代身份证 OCR 识别,OCR 极速识别身份证所有信息正反面均可.离线无需联网,极速秒扫. ...

  2. 调用百度OCR接口识别身份证 微信小程序

    申请百度AI账号获取百度OCR接口API Key和Secret Key 申请地址: http://ai.baidu.com/?track=cp:aipinzhuan|pf:pc|pp:AIpingta ...

  3. 百度OCR文字识别-身份证识别

    简介 答应了园区大牛张善友 要写AI 的系列博客,所以开始了AI 系列之旅. 一.介绍 身份证识别 API 接口文档地址:http://ai.baidu.com/docs#/OCR-API/top 接 ...

  4. 调用百度智能云OCR接口识别身份证和户口本

    一.百度智能云获取token类编写 package com.wy.gcserver.ocr.service;import org.slf4j.Logger; import org.slf4j.Logg ...

  5. Android Ocr文字识别 身份证识别 实时扫描

    遇到一个需求需要扫描身份证,识别身份证号并进行查询,在网上百度需要用到文字识别技术,ocr tess-two,看到网上有关于中英文实时扫描和手机号实时扫描的功能,于是在这两者的基础上进行了改进,感谢顾 ...

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

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

  7. PaddleHub一键OCR中文识别 身份证识别

    环境安装:PaddleHub一键OCR中文识别:https://aistudio.baidu.com/aistudio/projectdetail/512888 开源代码:https://github ...

  8. 身份证正反面识别,身份证扫描识别,二代身份证OCR识别,OCR极速识别身份证所有信息正反面均可。离线无需联网,极速秒扫。

    项目说明 极速识别二代身份证.驾驶证.护照 (无需联网,离线秒扫,极速识别)身份证所有信息, 包含姓名.性别.出生年月.详细地址,正反面.不需要联网即可离线识别身份证所有信息包括新疆少数民族身份证,识 ...

  9. uniapp 调用阿里云OCR行驶证识别

    1.阿里云-文字设别-行驶证设别 印刷文字识别-行驶证识别/OCR文字识别(限时特惠,折扣享不停)[最新版]-云市场-阿里云 2. 购买完后 获取AppKey AppCode数据 3.前端页面 4.完 ...

最新文章

  1. 4年4篇顶刊顶会论文!清华开源肖像线条画生成代码,惟妙惟肖模仿人类作画...
  2. linux 下ab压力测试
  3. mysql left join on_mysql,left join on
  4. Android的ClassLoader知多少
  5. Spring中BeanPostProcessor
  6. JavaEE的13种核心技术
  7. 360网络修复工具_Win10网络图标不见了解决方法
  8. SharePoint三个主要数据库
  9. 基于 Kubernetes 实践弹性的 CI/CD 系统
  10. mysql 主从同步,双主同步,如果服务器意外挂机,不同步怎么办
  11. 中心对称数 java_【LeetCode(Java) - 246】中心对称数
  12. Mac翻译系列软件推荐二:人人译视界 for Mac
  13. CH模拟赛 皇后游戏
  14. 计算机打字测速,5款打字测速软件分享,打字练习、测速两不误
  15. 域名过户操作流程及常见问题
  16. P5030 长脖子鹿放置
  17. 如何用光盘映像文件重装服务器系统,光盘映像文件如何装系统_通过光盘映像文件装系统的方法...
  18. suptitle()--matplotlib
  19. SGU126 Boxes
  20. 苹果全球销量超越小米重回第二,荣耀回归国内手机市场第一梯队

热门文章

  1. 教师管理平台-----servlet+html修改个人资料及更改头像
  2. java计算机毕业设计健康饮食信息管理系统源码+mysql数据库+系统+lw文档+部署
  3. 一个留学生被戴了绿帽子之后,写给前女朋友的一封信
  4. 手机查看CAD图纸的时候怎么切换视图
  5. javascript写字技巧_How JavaScript Work 学习笔记(一)
  6. 线程的概念和多线程模型
  7. Kubernetes在智联招聘内网的应用场景
  8. 【CAD.Net】第五课:如何提取CAD CADMText的文本内容(去除格式内容)
  9. Mysql数据库的初始密码及如何修改密码
  10. 直播代码开发者别忘了,直播代码中有这些盈利手段