python3--利用百度智能平台实现目标人物跟踪标记

本文介绍了如何使用Python3结合百度智能平台进行目标人物跟踪标记。通过视频读入、人脸检测、人脸对比和目标标注四个步骤,详细阐述了从图片Base64编码到调用人脸对比API,再到结果标注的全过程。
摘要由CSDN通过智能技术生成

一、事件描述

  事件目的是为了在实时监控中发现、追踪目标人物。在进行具体项目实验前利用百度智能平台进行测试。
 版本信息:python3.7 、opencv-python 4.1

二、过程解析

总览

整体结构包括:1.视频读入、2.人脸检测、3.人脸对比、4目标标注

1.视频读入

    cap=cv.VideoCapture(0)#0为调用本机摄像头,调用其他摄像头序号应该对应。如果读取视频,改为视频地址
    while(1):  
        ret, frame = cap.read()
        if not ret:
            print("打开摄像头失败")
            break
        """对每一帧的其他操作..."""
        c=cv.waitKey(20)
        if c==27:#esc键的键盘输入值为27,该段意为当按下esc键时退出
            cap.release()
            cv.destroyAllWindows() 
            break   


2.人脸检测

人脸检测利用的是opencv包中已经训练好的分类器haarcascade_frontalface_default,该分类器是保存在opencv包目录下的.xml文件,调用过程如下:

def face_detect_demo(image):
    """脸部检测"""
    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
    face_detector = cv.CascadeClassifier(r"C:\ProgramData\Anaconda3\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml")#haarcascade_frontalface_default.xml
    faces = face_detector.detectMultiScale(gray, 1.1, 2)
    return(faces)

输入:待检测的图片(已通过cv2.imread读取为数组格式)
输出:检测到的人脸位置
调用示例
待测图片(C:\Users\Administrator\Desktop\lyf.jpg)

src=cv2.imread('C:\\Users\\Administrator\\Desktop\\lyf.jpg')
id_face=face_detect_demo(src)

在这里插入图片描述
输出结果

array([[ 43,  88, 334, 334]], dtype=int32)

结果解释:43,88 为检测到的人脸左上角位置,334,334是检测到的人脸范围(宽度和高度),因此可以构造出人脸的四个顶点位置为:

(43,88) (43+334,88)
(43,88+334) (43+334,88+334)

显示结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值