数学建模社区-数学中国

标题: OpenCV库的Python程序示例 [打印本页]

作者: 2744557306    时间: 2024-3-31 10:50
标题: OpenCV库的Python程序示例
下面是一个使用OpenCV库的Python程序示例,该程序可打开摄像头实时显示视频,并将视频中的人脸进行检测并在人脸上方绘制矩形框。

```python
import cv2

# 加载人脸检测的分类器
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + '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), (0, 255, 0), 2)

    # 显示视频帧
    cv2.imshow('Face Detection', frame)

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

# 释放摄像头资源
cap.release()

# 关闭所有窗口
cv2.destroyAllWindows()
```

该程序需要保证已安装OpenCV库,并将haar级联文件 `haarcascade_frontalface_default.xml` 放在同一目录下。程序打开摄像头并不断读取视频帧,使用人脸检测分类器检测人脸并在人脸上方绘制矩形框,然后实时显示视频。
你可以根据自己的需求对程序进行修改和扩展,添加更多的功能和算法。








欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5