• 小程序OCR身份证识别


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

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

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

    1. 将上传的照片传到服务器端后,使用小程序OCR插件进行身份证识别,代码如下:
    1. // 引入小程序OCR插件
    2. import OCR from 'wechat-ocr'
    3. // 实例化OCR对象
    4. var ocr = new OCR({
    5. appid: '小程序OCR插件APPID',
    6. apikey: '小程序OCR插件API Key'
    7. })
    8. wx.request({
    9. url: '上传接口地址',
    10. method: 'POST',
    11. header: {
    12. 'content-type': 'application/x-www-form-urlencoded'
    13. },
    14. data: {
    15. // 传入身份证照片的URL
    16. url: '上传的文件URL'
    17. },
    18. success: function(res) {
    19. // 调用OCR插件识别身份证信息
    20. ocr.idcard({
    21. type: 'photo',
    22. photo: res.data
    23. }).then((result) => {
    24. // 解析OCR插件识别结果,获取身份证信息
    25. })
    26. }
    27. })

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

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

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

     


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

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

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

    1. 解析OCR识别结果,获取身份证上的信息,例如姓名、性别、出生年月、地址和身份证号码等。代码如下:
    1. var data = res.data
    2. if (data.code == 0) {
    3. var result = data.data
    4. if (result.item_list && result.item_list.length > 0) {
    5. var itemList = result.item_list
    6. for (var i = 0; i < itemList.length; i++) {
    7. var item = itemList[i]
    8. if (item.item == "品名") {
    9. // 获取姓名
    10. } else if (item.item == "性别") {
    11. // 获取性别
    12. } else if (item.item == "民族") {
    13. // 获取民族
    14. } else if (item.item == "出生") {
    15. // 获取出生年月
    16. } else if (item.item == "住址") {
    17. // 获取住址
    18. } else if (item.item == "公民身份号码") {
    19. // 获取身份证号码
    20. }
    21. }
    22. }
    23. }

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

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

  • 相关阅读:
    【EI会议征稿】第三届大数据、信息与计算机网络国际学术会议(BDICN 2024)
    Java多线程之8锁案例
    c++函数模板与类模板
    30 - 时间模块与随机模块(含一阶段测试编程题)
    某站现在更新的URL结构,现在要怎么爬-python
    Git 客户端基本使用及新手常见问题
    Vue3 项目中使用 jsx 详细教程
    网络标准之:IANA定义的传输编码
    【推荐系统】:协同过滤和基于内容过滤概述
    第二节:vuex与wabpack基本配置
  • 原文地址:https://blog.csdn.net/m0_74265396/article/details/133912911