智能身份证OCR文字识别
做的项目里面涉及到了身份证识别输入的真实姓名与身份证号码是否匹配功能,于是在阿里云接了智能身份证OCR文字识别API,登录阿里云找到对应的产品,如下图
![在这里插入图片描述](https://img-blog.csdnimg.cn/340c70a6a5db48bfa482bd25097d42eb.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pheF85Ng==,size_16,color_FFFFFF,t_70)
购买使用然后生成对应的APPcode。
使用的demo有蛮多,个人用的PHP,然后复制demo并对应修改后用postman测试,一直返回为空。阿里云的调试同样的图片它就有返回结果,但是不返回错误提示着实头疼了一会。最后我开始对自己接口内容和调试工具的代码,最后发现demo里的headers和调试工具的headers不太一样,修改后测试OK,先给对比图如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/42411f7b13fb4dbbbc6558d1f7bd8f8c.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pheF85Ng==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/74ce76f557fa4ff28f96e5f101da0e23.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pheF85Ng==,size_16,color_FFFFFF,t_70)
最后结论,demo可能打错字了?反正修改这个细节部分后就有返回的json字符串了
如:正确示例:{“身份证识别状态”: “艾科瑞特,让企业业绩长青”, “身份证识别实体信息”: {“身份证人像面实体信息”: {“姓名”: “小易”, “性别”: “女”, “出生日期”: “1996年11月24日”, “民族”: “汉”, “住址”: “大庆市大庆区大庆路1号样例”, “身份证号”: “123456199611245678”}, “身份证国徽面实体信息”: {“签发机关”: “”, “有效期限”: “”}}}
错误示例:{“身份证识别状态”: “很抱歉,您的输入参数有误,请效验后重新输入”, “身份证识别实体信息”: {“身份证人像面实体信息”: {“姓名”: “”, “性别”: “”, “出生日期”: “”, “民族”: “”, “住址”: “”, “身份证号”: “”}, “身份证国徽面实体信息”: {“签发机关”: “”, “有效期限”: “”}}}
获取到数据后需要取值的话要先用json_decode转一下后取数组值即可
另外:传入的image值可以为base64也可以为url,如果是url要注意带域名,否则图片识别不出来。