使用python+opencv连接网络摄像头画人脸框

# 获取rtsp流在 frame中实时检测
import cv2


faceCasCade = cv2.CascadeClassifier("Resources/haarcascade_frontalface_default.xml")
# 这个rtsp 流是网络控摄像头进行连接的
cap = cv2.VideoCapture("rtsp://用户名:密码@相机ip/")
# 判断抓拍数据流是否开启
if cap.isOpened():
     open, frame = cap.read()
else:
     open = False
# 当开启时open 为true
while open:
     # 读取开启的数据流帧数
     ret, frame = cap.read()
     # 将人脸转换为灰色的图像   
     imgGray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
     # 将获取的到的灰色人脸进行1比1的切割
     faces = faceCasCade.detectMultiScale(imgGray, 1.1, 4)
     # 设置长宽高进行人脸图形的切割
     for (x, y, w, h) in faces:
          cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)  # 绘制矩形人脸框
     if frame is None:
          break
     # 显示循环每一帧的图像进行放映 
     cv2.imshow("frame", frame)
     # 当话面正在进行时可以使用q 键进行退出
     if cv2.waitKey(1) & 0xFF == ord('q'):
          break
cv2.destroyAllWindows()
cap.release()

 需要进一步了解的可以去github进一步了解: 

    https://github.com/murtazahassan/Learn-OpenCV-in-3-hours

原文地址:https://www.cnblogs.com/liuli-warriors/p/13865635.html