python 身份证读取 照片并通过摄像头实时 比对相似度 人证比对软件 源码

这篇具有很好参考价值的文章主要介绍了python 身份证读取 照片并通过摄像头实时 比对相似度 人证比对软件 源码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近朋友需要一个人证比对软件需要实现以下功能:

  1. 通过摄像头实时采集人脸图像
  2. 通过身份证读卡器采集身份证信息 和 身份证照片
  3. 使用实时人脸照片 和 身份证照片做相似度比对
  4. 比对后返回相似度,或者返回同一人,非同一人
  5. 实时采集照片 和 身份证信息照片存档,方便以后查阅

准备

  1. 摄像头采用普通电脑usb摄像头
  2. 身份证读卡器采用 华视 CVR-100UC
  3. 人脸识别软件使用 虹软免费SDK

为什么使用虹软人脸识别算法,前期使用了很多开源算法(dlib,face_recognition),准确率都不高,相似度本人对比和非本人对比,相似度都在50%~70%,很难判断是否一人,在网上找到了虹软人脸算法(免费离线使用,每年联网激活一次),测试后准去率非常高,跟10年前的身份证图像 比对相似度94%,今年的身份证相似度98%,非本人30%一下,可以很方便的进行人证比对。

python 调用虹软SDK 参考以下链接:
仓库链接 https://gitee.com/shellcoder/ArcFace-python

python 调用华视 CVR-100UC DLL 参考以下链接:
https://blog.csdn.net/weixin_52521533/article/details/122393567

遇到的坑

测试本地图片比对,提示90127错误,通过查询虹软文档

错误码说明:图片宽高不支持,宽度需四字节对齐
详细说明:SDK对待处理图像的宽高做了限制:
1.所有支持的格式的图像宽度为4的倍数;
2.YUYV/I420/NV21/NV12格式的图片高度为2的倍数;
3.BGR24/GRAY/DEPTH_U16格式的图片高度不限制;
建议:若不符合可对图片进行适当的裁剪

通过以下代码对图片进行裁切处理

def process_image(image_path):
    try:
        img = cv2.imread(image_path)
        if img is None:
            raise Exception(f"Failed to read image: {image_path}")

        # 获取原始图片的宽度和高度
        height, width = img.shape[:2]

        # 计算调整后的宽度和高度
        new_width = width - (width % 4)
        new_height = height - (height % 2)

        # 调整图片大小
        resized_img = cv2.resize(img, (new_width, new_height))

        return resized_img

    except Exception as e:
        print(f"Error: {e}")
        return None

程序实现

python 身份证读取 照片并通过摄像头实时 比对相似度 人证比对软件 源码

报表打印

python 身份证读取 照片并通过摄像头实时 比对相似度 人证比对软件 源码
如有需要源码请添加微信:
python 身份证读取 照片并通过摄像头实时 比对相似度 人证比对软件 源码
可支持定制身份证读卡器(有偿)文章来源地址https://www.toymoban.com/news/detail-670968.html

到了这里,关于python 身份证读取 照片并通过摄像头实时 比对相似度 人证比对软件 源码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Python和OpenCV实现身份证识别

    Python是一种功能强大的编程语言,可以用于各种各样的应用场景,包括身份证识别。在本文中,我们将介绍如何使用Python来识别身份证,并提供一个示例代码来演示这个过程。 身份证是中国公民的重要证件,包含了个人的基本信息,如姓名、性别、出生日期、民族、住址等。

    2024年02月16日
    浏览(40)
  • Python使用阿里API进行身份证识别

    孟莉苹,女,西安工程大学电子信息学院,2021级硕士研究生,张宏伟人工智能课题组 研究方向:机器视觉与人工智能 电子邮件:2425613875@qq.com 凭借领先的人工智能与知识图谱技术,对身份证正反面自动识别,并提取姓名、出生日期、身份证号、住址、性别、民族、发证机关

    2024年02月07日
    浏览(42)
  • OpenCV-Python身份证信息识别

    本篇文章使用OpenCV-Python和CnOcr来实现身份证信息识别的案例。想要识别身份证中的文本信息,总共分为三大步骤:一、通过预处理身份证区域检测查找;二、身份证文本信息提取;三、身份证文本信息识别。下面来看一下识别的具体过程CnOcr官网。识别过程视频 这里的环境需

    2024年02月04日
    浏览(29)
  • python提取身份证中的生日和性别

    1. 我们的身份证号码是一串18位的数字,其中包含了许多关于持有人身份的信息,比如出生日期和性别。前6位是地区码,接下来的8位是出生日期,然后是顺序码和性别码, 最后一位是校验码。性别由倒数第二位表示,奇数为男,偶数为女。 2.解析身份证号码中的出生日期,

    2024年03月24日
    浏览(35)
  • Python使用阿里API进行身份证实名认证

    孟莉苹,女,西安工程大学电子信息学院,2021级硕士研究生,张宏伟人工智能课题组 研究方向:机器视觉与人工智能 电子邮件:2425613875@qq.com 凭借领先的人工智能与知识图谱技术,对身份证正反面自动识别,并提取姓名、出生日期、身份证号、住址、性别、民族、发证机关

    2024年02月02日
    浏览(31)
  • python身份证求出生年月日,年龄,性别

    根据用户输入的一个18位合法身份证号,输出用户的出生年月日、年龄和性别[第7、8、9、10位出生年份(四位数);第11、第12位为出生月份;第13、14为代表出生日期;第17位代表性别,奇数为男,偶数为女] 代码为: 

    2024年02月12日
    浏览(30)
  • 基于python+pyqt实现opencv银行卡身份证等识别

        识别结果 查看处理过程 历史记录 无法粘贴视频........ 视频和代码都已上传百度网盘,放在主页置顶文章

    2024年02月11日
    浏览(27)
  • 身份证识别ocr、身份证实名认证接口文档

    每一次验证背后,都是对用户数据安全的承诺,对平台信誉的坚守。翔云身份证实名认证API,通过身份证识别接口仅需一键上传身份证图片即可快速识别身份证信息,翔云实名认证接口实时联网查验证件信息的真伪。 ​PHP身份证实名认证接口文档代码如下:

    2024年04月17日
    浏览(41)
  • 身份证实名接口和身份证OCR接口的组合使用

    随着网络技术的快速发展以及对个人信息保护意识的提升,身份证实名认证已成为诸多在线业务中不可或缺的一环。身份证实名接口与身份证OCR接口的有机结合,为用户提供了一种快速、精准、安全的身份信息核验方式。 首先,用户在应用程序或网站界面上传其身份证正反两

    2024年04月26日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包