swan.ai.ocrIdCard

解释:用户向服务请求识别身份证,身份证识别包括正面和背面。

方法参数

Object object

object参数说明

属性名类型必填默认值说明
detect_directionBoolean是否检测图像旋转,可检验图像的旋转方向和旋转角度。 · true:检测旋转角度并矫正识别。针对摆放情况不可控制的情况建议本参数置为true; · false:不检测旋转角度,默认不检测。
id_card_sideString-front:身份证含照片的一面;back:身份证带国徽的一面。
imageString图片资源地址
detect_riskBoolean-是否开启身份证风险类型(身份证复印件、临时身份证、身份证翻拍、修改过的身份证)功能,默认不开启,即:false。有效值:true-开启;false-不开启。
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明

参数类型说明
directionNumber图像方向,当 detect_direction=true 时存在。-1: 未定义,0: 正向,1: 逆时针90度,2: 逆时针180度,3: 逆时针270度。
image_statusStringnormal-识别正常;reversed_side-身份证正反面颠倒;non_idcard-上传的图片中不包含身份证;blurred-身份证模糊;other_type_card-其他类型证照;over_exposure-身份证关键字段反光或过曝;unknown-未知状态。
risk_typeString输入参数 detect_risk = true 时,则返回该字段识别身份证类型: normal-正常身份证;copy-复印件;temporary-临时身份证;screen-翻拍;unknown-其他未知情况。
edit_toolString如果参数 detect_risk = true 时,则返回此字段。如果检测身份证被编辑过,该字段指定编辑软件名称,如:Adobe Photoshop CC 2014 (Macintosh),如果没有被编辑过则返回值无此参数。
log_idNumber唯一的log id,用于问题定位。
words_result_numNumber识别结果数,表示words_result的元素个数。
words_resultObject定位和识别结果

words_result 返回值说明

参数名参数类型说明
住址Object住址
公民身份号码Object公民身份号码
出生Object出生
姓名Object姓名
性别Object性别
民族Object民族

住址/公民身份号码/出生/姓名/性别/民族 返回值说明

参数名参数类型说明
locationObject位置信息(坐标0点为左上角)
wordsString识别结果字符串

location 返回值说明

参数名参数类型说明
leftNumber表示识别结果的定位位置的长方形左上顶点的水平坐标。
topNumber表示识别结果的定位位置的长方形左上顶点的垂直坐标。
widthNumber表示识别结果的定位位置的长方形的宽度。
heightNumber表示识别结果的定位位置的长方形的高度。

示例

swan.ai.ocrIdCard - 图1请使用百度APP扫码

图片示例

swan.ai.ocrIdCard - 图2

swan.ai.ocrIdCard - 图3

swan.ai.ocrIdCard - 图4

代码示例:

在开发者工具中预览效果

  1. Page({
  2. ocrIdCard() {
  3. swan.chooseImage({
  4. success: res => {
  5. let image = res.tempFilePaths[0];
  6. // AI系列的api有宿主使用限制,只可在百度App中使用,建议使用时加一层判断防止代码报未知错误
  7. let host = swan.getSystemInfoSync().host;
  8. if (host === 'baiduboxapp') {
  9. swan.ai.ocrIdCard({
  10. detect_direction: true,
  11. id_card_side: 'front',
  12. image, // 暂不支持识别网络图片
  13. detect_risk: true,
  14. success: res => {
  15. console.log('ocrIdCard res', res.words_result);
  16. },
  17. fail: err => {
  18. console.log('ocrIdCard err', err);
  19. }
  20. });
  21. }
  22. else {
  23. swan.showToast({
  24. title: '此api目前仅可在百度App上使用',
  25. icon: 'none'
  26. });
  27. }
  28. }
  29. })
  30. }
  31. });

返回值示例 :

  1. {
  2. "log_id": $log_id,
  3. "direction": 0,
  4. "image_status": "normal",
  5. "idcard_type": "normal",
  6. "edit_tool": "Adobe Photoshop CS3 Windows",
  7. "words_result": {
  8. "住址": {
  9. "location": {
  10. "left": 267,
  11. "top": 453,
  12. "width": 459,
  13. "height": 99
  14. },
  15. "words": "南京市江宁区弘景大道3889号"
  16. },
  17. "公民身份号码": {
  18. "location": {
  19. "left": 443,
  20. "top": 681,
  21. "width": 589,
  22. "height": 45
  23. },
  24. "words": "330881199904173914"
  25. },
  26. "出生": {
  27. "location": {
  28. "left": 270,
  29. "top": 355,
  30. "width": 357,
  31. "height": 45
  32. },
  33. "words": "19990417"
  34. },
  35. "姓名": {
  36. "location": {
  37. "left": 267,
  38. "top": 176,
  39. "width": 152,
  40. "height": 50
  41. },
  42. "words": "伍云龙"
  43. },
  44. "性别": {
  45. "location": {
  46. "left": 269,
  47. "top": 262,
  48. "width": 33,
  49. "height": 52
  50. },
  51. "words": "男"
  52. },
  53. "民族": {
  54. "location": {
  55. "left": 492,
  56. "top": 279,
  57. "width": 30,
  58. "height": 37
  59. },
  60. "words": "汉"
  61. }
  62. },
  63. "words_result_num": 6
  64. }