虹软人脸识别离线python3数据库保存报错

虹软人脸识别离线python3数据库保存遗留问题

虹软人脸识别离线python3数据库保存遗留问题头大两天没解决

下载的是python版本,想着把人脸数据存在mysql里,结果一个数据保存问题弄了两天还遇到鬼了,不知道怎么解决,写出来,看后面会不会遇到解决方法。

为什么非要搞数据库保存特征?

demo里提供本地文件保存人脸特征的方法,奈何自己考虑后面会牵扯人脸数据管理的问题,所以数据库保存更合适,文件保存的方法操作起来很不方便。

demo里的代码

 res ,face_feature1= face_engine.ASFFaceFeatureExtract(img,single_detected_face1)
  1. 代码所得 ,face_feature1是获得的图片特征,这可能是个特有类型的数据,里面包含特征长度和特征数据,特征是bytes类型的;
  2. 数据库里用于存储特征字段的类型设置blob
#比较两个人脸的相似度
res,score = face_engine.ASFFaceFeatureCompare(face_feature1,face_feature2)
  1. 对比代码 上面是获取的两个特征直接对比的代码,返回相似度,参数为特有类型的特征数据;
  2. 问题来了 按道理直接把特征数据存入数据库最简单,但是类型不对,所以用feature关键字提取里面的特征二进制,结果出来的是个7位数的int。然后用工具方法get_feature_bytes()获取到二进制特征;
  3. 问题继续发生 二进制数据写入数据库时报错,需要转义。然后用pymysql的escape_string()方法解决;
  4. 妖怪来了
print(type(features))
features=escape_string(features)

打印获取的二进制特征features数据类型显示为bytes,然而最下面报错缺告诉你这是list。
好了跳进黄河也说不清了。我这代码冤死了。到底是啥原因。烧香拜佛也解决不了吧。
报错代码
通过数据库保存人脸特征的方法,显然自己能力不足解决不了。下面考虑使用案例中本地文件保存的方式,希望能尽快解决问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值