<i id='5waVd'><tr id='5waVd'><dt id='5waVd'><q id='5waVd'><span id='5waVd'><b id='5waVd'><form id='5waVd'><ins id='5waVd'></ins><ul id='5waVd'></ul><sub id='5waVd'></sub></form><legend id='5waVd'></legend><bdo id='5waVd'><pre id='5waVd'><center id='5waVd'></center></pre></bdo></b><th id='5waVd'></th></span></q></dt></tr></i><div id='5waVd'><tfoot id='5waVd'></tfoot><dl id='5waVd'><fieldset id='5waVd'></fieldset></dl></div>
    <tfoot id='5waVd'></tfoot>
    • <bdo id='5waVd'></bdo><ul id='5waVd'></ul>

      <small id='5waVd'></small><noframes id='5waVd'>

    1. <legend id='5waVd'><style id='5waVd'><dir id='5waVd'><q id='5waVd'></q></dir></style></legend>

      python结合opencv实现人脸检测与跟踪

      时间:2023-12-18

        <small id='M1tER'></small><noframes id='M1tER'>

          <bdo id='M1tER'></bdo><ul id='M1tER'></ul>
            <tbody id='M1tER'></tbody>

              <i id='M1tER'><tr id='M1tER'><dt id='M1tER'><q id='M1tER'><span id='M1tER'><b id='M1tER'><form id='M1tER'><ins id='M1tER'></ins><ul id='M1tER'></ul><sub id='M1tER'></sub></form><legend id='M1tER'></legend><bdo id='M1tER'><pre id='M1tER'><center id='M1tER'></center></pre></bdo></b><th id='M1tER'></th></span></q></dt></tr></i><div id='M1tER'><tfoot id='M1tER'></tfoot><dl id='M1tER'><fieldset id='M1tER'></fieldset></dl></div>
                <tfoot id='M1tER'></tfoot>
                <legend id='M1tER'><style id='M1tER'><dir id='M1tER'><q id='M1tER'></q></dir></style></legend>

                下面是完整的Python结合OpenCV实现人脸检测与跟踪的攻略。

                1. 确认环境

                在开始之前,我们需要确认环境中已经安装好了Python和OpenCV库。可以使用以下命令检查:

                python --version
                pip install opencv-python
                

                2. 人脸检测

                在OpenCV中,可以使用haar级联分类器检测人脸。首先,我们需要下载已经训练好的人脸检测器,可以从官方网站下载。这里我们选择使用haarcascade_frontalface_default.xml文件。

                import cv2
                
                # 加载分类器
                face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
                
                # 加载图片
                img = cv2.imread('img.jpg')
                
                # 转换为灰度图
                gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
                
                # 检测人脸
                faces = face_cascade.detectMultiScale(gray, 1.3, 5)
                
                # 绘制矩形框
                for (x, y, w, h) in faces:
                    cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
                
                # 显示结果
                cv2.imshow('img', img)
                cv2.waitKey(0)
                cv2.destroyAllWindows()
                

                运行以上代码,即可检测出图片中的人脸并绘制矩形框。

                3. 人脸跟踪

                在本节中,我们将使用KCF算法实现人脸跟踪。首先,我们需要对每个检测到的人脸创建跟踪器对象。

                import cv2
                
                # 加载分类器
                face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
                
                # 加载视频
                cap = cv2.VideoCapture(0)
                
                # 获取第一帧并确定人脸位置
                ret, frame = cap.read()
                gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
                faces = face_cascade.detectMultiScale(gray, 1.3, 5)
                
                # 创建跟踪器列表
                trackers = cv2.MultiTracker_create()
                
                # 创建跟踪器对象
                for (x, y, w, h) in faces:
                    tracker = cv2.TrackerKCF_create()
                    trackers.add(tracker, frame, (x, y, w, h))
                
                # 循环处理视频帧
                while True:
                    # 读取帧并转换为灰度图
                    ret, frame = cap.read()
                    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
                
                    # 更新跟踪器并绘制矩形框
                    for tracker in trackers.getObjects():
                        success, bbox = tracker.update(frame)
                        if success:
                            x, y, w, h = [int(i) for i in bbox]
                            cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
                
                    # 显示结果
                    cv2.imshow('frame', frame)
                
                    # 按下Esc键退出循环
                    if cv2.waitKey(1) & 0xFF == 27:
                        break
                
                # 释放资源
                cap.release()
                cv2.destroyAllWindows()
                

                运行以上代码,即可在视频中实现人脸跟踪。

                以上就是Python结合OpenCV实现人脸检测与跟踪的完整攻略,希望能对你有所帮助。

                上一篇:python 读取二进制 显示图片案例 下一篇:python opencv实现信用卡的数字识别

                相关文章

              • <tfoot id='qZKUE'></tfoot>

                <small id='qZKUE'></small><noframes id='qZKUE'>

                <legend id='qZKUE'><style id='qZKUE'><dir id='qZKUE'><q id='qZKUE'></q></dir></style></legend>

                  <bdo id='qZKUE'></bdo><ul id='qZKUE'></ul>
              • <i id='qZKUE'><tr id='qZKUE'><dt id='qZKUE'><q id='qZKUE'><span id='qZKUE'><b id='qZKUE'><form id='qZKUE'><ins id='qZKUE'></ins><ul id='qZKUE'></ul><sub id='qZKUE'></sub></form><legend id='qZKUE'></legend><bdo id='qZKUE'><pre id='qZKUE'><center id='qZKUE'></center></pre></bdo></b><th id='qZKUE'></th></span></q></dt></tr></i><div id='qZKUE'><tfoot id='qZKUE'></tfoot><dl id='qZKUE'><fieldset id='qZKUE'></fieldset></dl></div>