《OpenCV》—— 指纹验证

  • 用两张指纹图片中的其中一张对其验证
    在这里插入图片描述

  • 完整代码

    import cv2
    
    
    def cv_show(name, img):
        cv2.imshow(name, img)
        cv2.waitKey(0)
    
    
    def verification(src, model):
    
        sift = cv2.SIFT_create()
    
        kp1, des1 = sift.detectAndCompute(src, None)
    
        kp2, des2 = sift.detectAndCompute(model, None)
    
        flann = cv2.FlannBasedMatcher()
    
        matches = flann.knnMatch(des1, des2, k=2)
    
        ok = []
        for m, n in matches:
    
            if m.distance < 0.8 * n.distance:
                ok.append(m)
    
        num = len(ok)
        if num >= 500:
            result = "认证通过"
        else:
            result = "认证失败"
        return result
    
    
    if __name__ == '__main__':
        src1 = cv2.imread("src1.bmp")
        cv_show('src1', src1)
        src2 = cv2.imread('src2.bmp')
        cv_show('src2', src2)
        model = cv2.imread('model.bmp')
        cv_show('model', model)
    
        result1 = verification(src1, model)
        result2 = verification(src2, model)
        print("src1验证结果为:", result1)
        print("src2验证结果为:", result2)
    
  • 运行结果
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值