legongju.com
我们一直在努力
2025-01-11 02:00 | 星期六

Ubuntu环境下OpenCV2的实时人脸检测

在Ubuntu环境下使用OpenCV 2进行实时人脸检测,需要首先安装OpenCV库和Python绑定

  1. 安装OpenCV库和Python绑定:
sudo apt-get update
sudo apt-get install python-opencv
  1. 下载预训练的Haar级联分类器(用于人脸检测):

从OpenCV的GitHub仓库下载haarcascade_frontalface_default.xml文件:https://github.com/opencv/opencv/tree/master/data/haarcascades

将下载的文件保存到一个合适的位置,例如~/opencv_data/

  1. 编写Python代码进行实时人脸检测:

创建一个名为face_detection.py的新Python文件,并添加以下代码:

import cv2

# 加载Haar级联分类器
face_cascade = cv2.CascadeClassifier('~/opencv_data/haarcascade_frontalface_default.xml')

# 打开摄像头
cap = cv2.VideoCapture(0)

while True:
    # 读取视频帧
    ret, frame = cap.read()

    # 转换为灰度图像
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # 检测人脸
    faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))

    # 在图像上绘制人脸矩形框
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)

    # 显示带有人脸检测结果的图像
    cv2.imshow('Face Detection', frame)

    # 按'q'键退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放资源并关闭窗口
cap.release()
cv2.destroyAllWindows()
  1. 运行代码:

在终端中,导航到包含face_detection.py文件的目录,然后运行以下命令:

python face_detection.py

这将打开一个窗口,显示摄像头的实时图像,并在其中检测到的人脸周围绘制红色矩形框。按’q’键可以退出程序。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/100102.html

相关推荐

  • 如何找到Ubuntu的unminimize工具

    如何找到Ubuntu的unminimize工具

    unminimize 工具并不是 Ubuntu 默认安装的一部分,它可能是一个自定义脚本或者第三方应用程序的一部分。然而,如果你正在寻找一种方法来最小化或恢复窗口,你可以...

  • Ubuntu unminimize操作指南

    Ubuntu unminimize操作指南

    在Ubuntu中,unminimize命令并不是一个标准的命令。然而,如果你指的是恢复最小化的窗口,可以通过以下几种方法实现:
    使用快捷键 最小化窗口:Alt + Space...

  • Unminimize在Ubuntu中的用途

    Unminimize在Ubuntu中的用途

    在Ubuntu中,“unminimize”(取消最小化)是指将一个已经被最小化(最小化到任务栏或启动器)的窗口恢复到其原始大小和位置
    要在Ubuntu中取消最小化窗口,...

  • Ubuntu下如何使用unminimize

    Ubuntu下如何使用unminimize

    在Ubuntu系统中,并没有直接名为unminimize的命令。然而,根据搜索结果,可能您指的是通过unminimize命令来实现某些功能,比如安装Ubuntu系统。以下是在Ubuntu下...

  • 如何解决Ubuntu下OpenCV2的兼容性问题

    如何解决Ubuntu下OpenCV2的兼容性问题

    在 Ubuntu 系统下,如果遇到 OpenCV 2 的兼容性问题,可以尝试以下方法来解决: 更新系统和软件包:
    打开终端,运行以下命令来更新系统和软件包:
    sud...

  • OpenCV2在Ubuntu上的多线程应用

    OpenCV2在Ubuntu上的多线程应用

    OpenCV(开源计算机视觉库)是一个用于处理实时图像和视频的开源库
    以下是一个简单的使用OpenCV 2在Ubuntu上进行多线程应用的示例: 首先,确保已经安装了O...

  • linux grpc常见问题解决

    linux grpc常见问题解决

    在Linux系统中使用gRPC时,可能会遇到一些常见问题 缺少依赖库 确保已经安装了gRPC的所有依赖库,包括protobuf、gRPC和gRPC C++库。可以使用包管理器(如apt或yu...

  • linux grpc最佳实践指南

    linux grpc最佳实践指南

    gRPC(gRPC Remote Procedure Call)是一种高性能、开源的远程过程调用(RPC)框架,它允许客户端和服务端之间通过定义良好的接口进行通信。以下是关于在Linux环...