python 调用百度云端人脸搜索

2023-05-16

python 调用百度云端人脸搜索1:N 进行人脸搜索的方法(从已有的库中搜索当前人脸id)

不多述,直接上代码

环境是Ubuntu16.04+Python3

# -*- coding: utf-8 -*-
import cv2
import sys
import base64
import json
from aip.face import AipFace

dicName = {'user01':'USR01', 'user02':'USR01','user03':'USR01','user04':'USR01'} #id 和名字对应关系

def FaceRec_Baidu(cam_index):
    cap = cv2.VideoCapture(cam_index)
    detector = cv2.CascadeClassifier('$HOME/opencv-build/installed_x86/share/opencv4/haarcascades/haarcascade_frontalface_alt2.xml')
    APP_ID = '你的appid'
    API_KEY = '你的appkey'
    SECRET_KEY = '你的secretkey'
    client = AipFace(APP_ID, API_KEY, SECRET_KEY)
    state = False
    while True:
        ret,img = cap.read()
        if not ret:
            break
        #print('开始')
        grey = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
        #print('灰度图')
        face = detector.detectMultiScale(grey,1.3,5)
        #print(len(face))
        for(x, y, w, h) in face:
            cv2.rectangle(img, (x,y),(x+w,y+h), (0,255,0),2)
        #print('绘图')
        face64 = img2Base64(img)
        if len(face) == 0:
            state = False
            cv2.imshow('frame', img)
            #continue

        #print('变换成face64')
        img_Type = 'BASE64'
        groupIdList = "tech"
        #print('人脸搜索')
        if state == False and len(face) != 0:
            ret = client.search(face64,img_Type,groupIdList)
            if ret['error_msg'] == 'SUCCESS':
                userid = ret['result']['user_list'][0]['user_id']
                print('识别成功!' + dicName[userid] + ': 您好')
                cv2.putText(img, userid,
                        (x + 30, y + 30),  # 坐标
                        cv2.FONT_HERSHEY_SIMPLEX,  # 字体
                        1,  # 字号
                        (255, 0, 255),  # 颜色
                        2)  # 字的线宽
                state = True
        cv2.imshow('frame', img)
        #if js['error_msg'] == 'SUCCESS':
        #print(js['result'])
       # else:
        #cv2.waitKey(100)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    #cap.release()
    #cv2.destroyAllWindows()
#def FaceSearch(image_Base64,imageType):
#opencv 抽出来的图片转base64格式
def img2Base64(image):
    image = cv2.imencode('.jpg', image)[1]
    base_data = str(base64.b64encode(image))[2:-1]
    return base_data
if __name__ == '__main__':
     #print('参数:%s'%(sys.argv[1]))
     cam = int(sys.argv[1])
     FaceRec_Baidu(cam)

参考百度ai开放平台上的人脸检索方法去自己的用户下上传人脸图片

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 调用百度云端人脸搜索 的相关文章

  • 根据随机选择的列生成随机天数

    我有一个如下所示的数据框 感谢 SO 社区在以下方面提供的帮助 df1 pd DataFrame person id 11 11 12 13 14 date birth 01 01 1961 12 30 1961 05 29 1967 01
  • 在 python 2 和 3 的spyder之间切换

    根据我在文档中了解到的内容 它指出您只需使用命令提示符创建一个新变量即可轻松在 2 个 python 环境之间切换 如果我已经安装了 python 2 7 则 conda create n python34 python 3 4 anaco
  • 如何有条件地组合两个相同形状的 numpy 数组

    这听起来很简单 但我想我把它想得太复杂了 我想创建一个数组 其元素是从两个形状相同的源数组生成的 具体取决于源数组中哪个元素更大 为了显示 import numpy as np array1 np array 2 3 0 array2 np
  • 如何在算术表达式的结果上添加 SQLAlchemy 标签?

    我如何将这样的东西翻译成 SQLAlchemy select x y as difference 我知道该怎么做 x label foo 但我不确定在哪里放置下面的 label 方法调用 select table c x table c y
  • 蟒蛇 |如何将元素随机添加到列表中

    有没有一种方法可以将元素随机添加到列表中 内置函数 ex def random append lst a lst append b lst append c lst append d lst append e return print ls
  • 如何从网站中提取冠状病毒病例?

    我正在尝试从网站中提取冠状病毒 https www trackcorona live https www trackcorona live 但我得到了一个错误 这是我的代码 response requests get https www t
  • 熊猫记忆

    我有冗长的计算 我重复了很多次 因此 我想使用记忆 诸如jug http packages python org Jug and joblib http packages python org joblib memory html 与Pan
  • 如何使用注释和聚合在 Django 的 ORM 中执行此 GROUP BY 查询

    我真的不知道如何翻译GROUP BY and HAVING到姜戈的QuerySet annotate and QuerySet aggregate 我正在尝试将这个 SQL 查询转换为 ORM 语言 SELECT EXTRACT year
  • 别碰我的女人

    我讨厌的一件事迪斯图尔斯 http docs python org distutils 我猜他是邪恶的人 他这样做了 https github com python cpython blob 300dd552b15825abfe0e367a
  • Python time.sleep - 永不醒来

    我认为这将是那些简单的问题之一 但它让我感到困惑 停止媒体 我是对的 找到了解决方案 查看答案 我正在使用 Python 的单元测试框架来测试多线程应用程序 很好而且很直接 我有 5 个左右的工作线程监视一个公共队列 以及一个为它们制作工作
  • 在 Python 中,如何获取特定文件中定义的类列表?

    如果一个文件myfile py包含 class A object Some implementation class B object Some implementation 我如何定义一个方法 以便在给定的情况下myfile py 它返回
  • 将参数传递给 __enter__

    刚刚学习 with 语句尤其是这篇文章 http effbot org zone python with statement htm 问题是 我可以传递一个参数给 enter 我有这样的代码 class clippy runner def
  • 从 Apache 运行 python 脚本的最简单方法

    我花了很长时间试图弄清楚这一点 我基本上正在尝试开发一个网站 当用户单击特定按钮时 我必须在其中执行 python 脚本 在研究了 Stack Overflow 和 Google 之后 我需要配置 Apache 以便能够运行 CGI 脚本
  • python 中的基本矩阵转置

    我尝试了 python 中矩阵转置的最基本方法 但是 我没有得到所需的结果 接下来是代码 A 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 print A def TS A B A for i in range len A
  • 使用 pandas 绘制带有误差线的条形图

    我正在尝试从 DataFrame 生成条形图 如下所示 Pre Post Measure1 0 4 1 9 这些值是我从其他地方计算出来的中值 我还有它们的方差和标准差 以及标准误差 我想将结果绘制为具有适当误差线的条形图 但指定多个误差值
  • Scikit Learn - K-Means - 肘部 - 标准

    今天我想学习一些关于 K means 的知识 我已经了解该算法并且知道它是如何工作的 现在我正在寻找正确的 k 我发现肘部准则作为检测正确的 k 的方法 但我不明白如何将它与 scikit learn 一起使用 在 scikit learn
  • python csv按列转换为字典

    是否可以将 csv 文件中的数据读取到字典中 使得列的第一行是键 同一列的其余行构成列表的值 例如 我有一个 csv 文件 strings numbers colors string1 1 blue string2 2 red string
  • DRF:以编程方式从 TextChoices 字段获取默认选择

    我们的网站是 Vue 前端 DRF 后端 在一个serializer validate 方法 我需要以编程方式确定哪个选项TextChoices类已被指定为模型字段的默认值 TextChoices 类 缩写示例 class PaymentM
  • 如何使用 FastAPI 在 HTMX 前端中使用 HX-Redirect?

    我试图在登录后在前端重定向 我像这样从我的 htmx 前端发出请求
  • 从 Flask 中的 S3 返回 PDF

    我正在尝试在 Flask 应用程序的浏览器中返回 PDF 我使用 AWS S3 来存储文件 并使用 boto3 作为与 S3 交互的 SDK 到目前为止我的代码是 s3 boto3 resource s3 aws access key id

随机推荐

  • 分享一个手游脚本源码

    目的 给大家接触手游模拟脚本的一个样板 xff0c 支持多分辨率适配 脚本功能为批量送体力给好友 xff0c 功能简单 源码 lua span class token comment 版本 span span class token com
  • crackme例子2

    样本 jadx clacSnFuntion jni函数 xff0c ida分析 关键位置函数一片红色 xff0c 可能有动态加解密 如果不分析具体解密算法 xff0c 可内存dump解密后整个so frida如下 xff1a span cl
  • 8本游戏开发书籍推荐

    很多刚刚接触游戏开发的朋友经常问我 xff1a 如何开始学习游戏开发 xff1f 我从事游戏开发行业很多年了 xff0c 坦率地讲 xff0c 开发游戏充满挑战性 xff0c 需要开发人员具备大量的技能与积极的创新精神 希望这篇小文能帮助朋
  • win10编译scrcpy详解

    环境配置 安装MSYS2 安装后打开msys终端 xff0c 运行如下命令 span class token comment runtime dependencies span pacman S mingw w64 x86 64 SDL2
  • windows编译安卓源码记录

    环境 Windows10 43 vmware17 43 ubuntu22 ubuntu环境设置 装完ubuntu系统后拖拽复制文件进去验证vmtools功能情况 xff0c 如果vmtools异常很麻烦 xff0c 试了n多方法 xff0c
  • adb执行多条连续cmd命令

    你可以试一下下面的方法 xff1a 64 echo off echo su gt temp txt echo 其它命令 gt gt temp txt adb shell lt temp txt del temp txt 普通情况 xff0c
  • java代码混淆

    什么是代码混淆 Java 是一种跨平台的 解释型语言 xff0c Java 源代码编译成中间 字节码 存储于 class 文件中 由于跨平台的需要 xff0c Java 字节码中包括了很多源代码信息 xff0c 如变量名 方法名 xff0c
  • nm命令 查看符号文件

    nm命令介绍的很多 xff0c 但大多不介绍其函数符号标志的含义 最近在调试动态库时常用到 xff0c 其中用的最多的用法 nm A grep aaa c 43 43 filt A 为了显示文件 xff0c c 43 43 filt转换为可
  • 把1-9这9个数字按从小到大的顺序排列 ,中间添上“+”和“-“,““,可以计算的结果等于100的程序

    Talk is cheap show me the code 穷举法 计算次数 3 8 61 6561 输出等于100的结果 arr 61 1 2 3 4 5 6 7 8 9 flag 61 34 43 34 34 34 34 34 fun
  • 安卓某Q协议分析

    直接进入主题 主要数据包 renamed from oicq wlogin sdk request l 抓包数据分析 oicq wlogin sdk request request TGTGT 这个类 tlv18 包数据 001800160
  • pyinstaller打包

    virtualenv pip span class token function install span virtualenv pipenv xff08 官方推荐 xff09 pip span class token function i
  • sudo apt-get update 报错:E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/te

    Ubuntu 更换源后 xff0c 使用命令更新源 xff0c 出现报错 xff0c 解决办法 今天在装完ubuntu系统后 xff0c 更换了阿里源 xff0c 使用sudo apt get update命令更新源 出现如下错误 xff1
  • 基于线程池的生产者消费者模型(含阻塞队列)

    一 线程池 二 模型实现 1 准备工作 2 创建线程 3 PushTask函数 4 PopTask函数 5 线程执行函数Routines 三 模型测试 一 线程池 和内存池一样 xff0c 线程池也是为了提升效率 一个服务器可能短时间会接收
  • 意图识别资料纪录

    今天搞意图识别貌似这个资料的介绍很不错 不知道怎么转载 xff0c 放到这https blog csdn net zengNLP article details 94657099
  • 在C#中 麦克风录音数据float [] 转byte [] 的方法

    public static byte AudioFloat2Byte float floatData float samples 61 floatData audio clip GetData samples 0 short intData
  • redis 是个啥后续--Redis 数据缓存和消息队列

    用python写了一个Redis 的数据缓存和消息队列的例子 xff0c 代码没有在这里传 xff0c 有想看的去Github 上吧 xff0c 有什么问题别赖我 xff0c 在这个领域我知道的也就这么多了 xff0c 后续还有更深的研究的
  • 第二天-模板简单修改(基于t3-bs3-blank模板)

    最近做joomla网站由于客户要求首页内容比较特殊 xff0c 但是现有的模板块布局又不符合要求 xff0c 没办法只能硬着头皮上 改代码 xff0c 修改代码前请先备份 xff01 xff01 xff01 手中有一个T3的模板 xff0c
  • 设置开机软件启动的方法

    前两天要设置自己公司研发的软件设备的开机启动 从网上找到的如下方法 环境win10 xff0c win7都适用 第一步 快捷键 meta 43 R 也就是键盘上win 43 R 调出运行 第二步 在运行中输入 shell startup 然
  • unity中使用httppost的两种方式

    最近需要在unity中使用http post的方式传递消息 xff0c 所以做一下记录吧 1 unity自己的www 方式 因为我传递的消息是json字符串所以前期的工作就是 拼字符串然后通过litjson或者newtonsoft json
  • python 调用百度云端人脸搜索

    python 调用百度云端人脸搜索1 xff1a N 进行人脸搜索的方法 xff08 从已有的库中搜索当前人脸id xff09 不多述 xff0c 直接上代码 环境是Ubuntu16 04 43 Python3 coding utf 8 i