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

小程序OCR身份证识别

使用两种OCR识别:小程序和腾讯云

1.基于微信小程序OCR插件实现身份证拍照、上传并OCR识别的示例:

  1. 首先,在小程序中添加身份证拍照的功能,可以使用wx.chooseImage()选择照片并使用wx.uploadFile()上传,代码如下:
wx.chooseImage({count: 1, // 一次只能选择一张照片sizeType: ['compressed'], // 图片压缩sourceType: ['camera', 'album'], // 可以选择拍照或从相册中选择success: function(res) {// 将选择的图片上传到服务器wx.uploadFile({url: '上传接口地址',filePath: res.tempFilePaths[0],name: 'file',success: function(res) {// 调用OCR接口识别身份证信息}}
})

  1. 将上传的照片传到服务器端后,使用小程序OCR插件进行身份证识别,代码如下:
// 引入小程序OCR插件
import OCR from 'wechat-ocr'// 实例化OCR对象
var ocr = new OCR({appid: '小程序OCR插件APPID',apikey: '小程序OCR插件API Key'
})wx.request({url: '上传接口地址',method: 'POST',header: {'content-type': 'application/x-www-form-urlencoded'},data: {// 传入身份证照片的URLurl: '上传的文件URL'},success: function(res) {// 调用OCR插件识别身份证信息ocr.idcard({type: 'photo',photo: res.data}).then((result) => {// 解析OCR插件识别结果,获取身份证信息})}
})

  1. 解析OCR插件识别结果,获取身份证上的信息,例如姓名、性别、出生年月、地址和身份证号码等。代码如下:
var result = result.data
if (result.status == 'OK') {var data = result.result// 获取姓名var name = data.name// 获取性别var gender = data.sex// 获取出生年月var birth = data.birth// 获取地址var address = data.address// 获取身份证号码var number = data.number
}

  1. 最后,在小程序中展示OCR识别的结果。

此示例中使用小程序OCR插件进行识别,具体的使用方式和接口参数可以参考小程序OCR官方文档。需要注意的是,小程序OCR插件需要在微信公众平台上进行申请和配置,详情请参考微信官方文档。

 


2.基于腾讯云OCR接口实现身份证拍照、上传并OCR识别的示例:

  1. 首先,在小程序中添加上传身份证照片的功能,可以使用wx.chooseImage()选择照片并使用wx.uploadFile()上传,代码如下:
wx.chooseImage({count: 1, // 一次只能选择一张照片sizeType: ['compressed'], // 图片压缩sourceType: ['camera', 'album'], // 可以选择拍照或从相册中选择success: function(res) {// 将选择的图片上传到服务器wx.uploadFile({url: '上传接口地址',filePath: res.tempFilePaths[0],name: 'file',success: function(res) {// 调用OCR接口识别身份证信息}}
})

  1. 将上传的照片传到服务器端后,调用腾讯云OCR接口进行身份证识别,代码如下:
wx.request({url: 'OCR接口地址',method: 'POST',header: {'content-type': 'application/x-www-form-urlencoded'},data: {app_id: '腾讯云OCR应用ID',secret_id: '腾讯云API密钥ID',secret_key: '腾讯云API密钥',bucket: '',card_type: '0',url: '上传的文件URL',time_stamp: parseInt(new Date().getTime() / 1000),nonce_str: '随机字符串'},success: function(res) {// 解析OCR识别结果,获取身份证信息}
})

  1. 解析OCR识别结果,获取身份证上的信息,例如姓名、性别、出生年月、地址和身份证号码等。代码如下:
var data = res.data
if (data.code == 0) {var result = data.dataif (result.item_list && result.item_list.length > 0) {var itemList = result.item_listfor (var i = 0; i < itemList.length; i++) {var item = itemList[i]if (item.item == "品名") {// 获取姓名} else if (item.item == "性别") {// 获取性别} else if (item.item == "民族") {// 获取民族} else if (item.item == "出生") {// 获取出生年月} else if (item.item == "住址") {// 获取住址} else if (item.item == "公民身份号码") {// 获取身份证号码}}}
}

  1. 最后,在小程序中展示OCR识别的结果。

此示例中使用腾讯云OCR接口进行识别,具体的接口参数和使用方式可以参考腾讯云OCR官方文档

http://www.lryc.cn/news/198875.html

相关文章:

  • 【算法学习】归并算法Merge Sort总结
  • Swager如何使用
  • DHorse v1.4.2 发布,基于 k8s 的发布平台
  • Java使用JJWT令牌
  • “第四十四天”
  • Unity Mono和.Net平台浮点算法的区别
  • 【SA8295P 源码分析 (二)】64 - QNX 与 Android GVM 显示 Dump 图片方法汇总
  • shell命令以及运行原理和lLinux权限
  • 斯坦福JSKarel编程机器人使用介绍
  • SpringBoot中pom.xml不引入依赖, 怎么使用parent父项目的依赖
  • 基于vue3+ts5+vue-router4+pinia2的PC端项目搭建教程
  • 6个无版权、免费、高清图片素材库
  • 什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的 IE?
  • LeetCode 2906. 构造乘积矩阵【前后缀分解,数组】中等
  • vue3+koa+axios实现前后端通信
  • Required MultipartFile parameter ‘file‘ is not present
  • vue3后台管理系统之layout组件的搭建
  • Minio 文件上传(后端处理同文件判断,同一文件秒传)
  • 模拟IIC通讯协议(stm32)(硬件iic后面在补)
  • 使用注解读取properties配置文件
  • Python---练习:求世界杯小组赛的总成绩(涉及:布尔类型转换为整型)
  • vue3学习源码笔记(小白入门系列)------KeepAlive 原理
  • 边写代码边学习之mlflow
  • 基于吉萨金字塔建造优化的BP神经网络(分类应用) - 附代码
  • axios的post请求所有传参方式
  • 【c++】向webrtc学比较2: IsNewerSequenceNumber 用于NackTracker及测试
  • PRCV 2023:语言模型与视觉生态如何协同?合合信息瞄准“多模态”技术
  • 深度学习硬件配置推荐(kaggle学习)
  • 1019hw
  • 两分钟搞懂UiAutomator自动化测试框架