USB摄像头 接入PC电脑USB口,并调试正常打开视频;这里Linux上推荐一款视频软件来测试Guvcview,或者其他检测USB摄像头正常的软件都可以。
XML模型库:https://github.com/opencv/opencv/tree/master/data/haarcascades
1).找到haarcascade_frontalface_default.xml 文件,点击进去.
2).找到Raw,右键链接(目标)另存为。
打开pycharm开发工具,继续在项目中新建 video.py 文件,video.py 文件代码如下:
# -*- coding:utf-8 –*-
import cv2
# 调用模型库文件
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 打开内置摄像头
cap = cv2.VideoCapture(0)
# 设置视频窗口大小
cap.set(3, 640)
cap.set(4, 480)
faceNum = 0
while True:
# 读取视频帧
ret, frame = cap.read()
# 图像灰度处理
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 设定人脸识别参数
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=3)
faceNum = len(faces)
print("人脸数量: %s" % faceNum)
if len(faces) > 0:
for faceRect in faces:
x, y, w, h = faceRect
# -------- 在人脸周围绘制矩形
cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 255, 0), 2)
# 显示图像
cv2.imshow('img', frame)
# -------- Q键推出
if cv2.waitKey(1) & 0xff == ord('q'):
break
# 释放资源
cv2.destroyAllWindows()
cap.release()
摄像头打开运行结果如下: