首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从sqlite3数据库中检索图像进行人脸验证

从sqlite3数据库中检索图像进行人脸验证
EN

Stack Overflow用户
提问于 2021-07-30 11:06:52
回答 1查看 63关注 0票数 1
代码语言:javascript
复制
    import sqlite3
    from deepface import DeepFace
    from PIL import Image
    from io import BytesIO

def connect_to_db():
    conn = sqlite3.connect('user_photo.db')
    return conn


def get_file_from_db(customer_id):
    cursor = connect_to_db().cursor()
    select_fname = """SELECT photo from photos where customer_id = ?"""
    cursor.execute(select_fname, (customer_id,))
    item = cursor.fetchone()
    cursor.connection.commit()
    return item

def get_testsign(customer_id):
    cursor = connect_to_db().cursor()
    select_sign = """SELECT testphoto from test where customer_id = ?"""
    cursor.execute(select_sign, (customer_id,))
    item = cursor.fetchone()
    cursor.connection.commit()
    return item

def matchNew():
   try:
       input_image = get_testsign(customer_id)
       input_image_open = [Image.open(BytesIO(x)) for x in input_image]
       reg_image = get_file_from_db(customer_id)
       reg_image_open = [Image.open(BytesIO(x)) for x in reg_image]
       obj = DeepFace.verify(input_image_open, reg_image_open)
       print(obj)
       return print({"error":False})
   except Exception as e:
        print(e)
   return print({"error": True})

if __name__=='__main__':
    customer_id = '080abc'
    matchNew()

上面的代码是从数据库中获取图像并进行验证以进行面部验证。图像以BLOB的形式存储在数据库中。DeepFace.verify采用两个参数,即两张图片进行人脸验证。我得到的错误是(“传递给验证函数的无效参数:”,) {‘error ':True}

我在windows 10上使用python3.8。

数据库中的表是这样的:表照

EN

回答 1

Stack Overflow用户

发布于 2021-10-07 12:12:13

input_image_open和reg_image_open都是PIL图像。DeepFace需要精确的图像路径、base64编码的图像或numpy数组作为输入。您可以将pil图像转换为numpy,如下所示。

代码语言:javascript
复制
import numpy as np
input_image_open_np = np.array(input_image_open.convert("L"))
reg_image_open_np = np.array(reg_image_open.convert("L"))
obj = DeepFace.verify(input_image_open_np, reg_image_open_np)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68589940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档