OpenCV 调用摄像头
环境
python:python3.6
摄像头:网络摄像头
Python 库:openCV
# -*- coding: utf-8 -*-
# @author leone
# @desc 使用 python 的 openCV 获取网络摄像头的数据
# @version 2018-12-23
import cv2
import sys
# 根据摄像头设置 IP 及 rtsp 端口
url = 'rtsp://account:password@192.168.0.35:554/11'
# 读取视频流
cap = cv2.VideoCapture(url)
# 设置视频参数
cap.set(3, 480)
print(cap.isOpened())
print(sys.version)
print(cv2.__version__)
while cap.isOpened():
ret_flag, img_camera = cap.read()
cv2.imshow("camera", img_camera)
# 每帧数据延时 1ms, 延时为 0, 读取的是静态帧
k = cv2.waitKey(1)
if k == ord('s'):
cv2.imwrite("test.jpg", img_camera)
if k == ord('q'):
break
# 释放所有摄像头
cap.release()
# 删除窗口
cv2.destroyAllWindows()
由于网络摄像头的 RTSP: 实时流协议要手动开启,进入你的摄像头管理界面,例如:192.168.0.35 找到设置 -> 网络设置 ->RTSP 设置 -> 开启 RTSP 开关 最好保存设置,并重启摄像头。
另外附上基于 python 的人脸识别 demo 支持多张人脸 github