import cv2
import numpy as np
# http://admin:admin@192.168.31.117:8081
# url = 'rtsp://admin:tsg610@192.168.31.57:554//Streaming/Channels/2'
# url = 'rtsp://admin:mima123@172.46.30.210:554/Streaming/Channels/101?transportmode=multicast'
url = 0
cap = cv2.VideoCapture(url)
while cap.isOpened():
# print('xxx')
ret, frame = cap.read()
if not ret:
break
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
如果本地多个USB摄像头
查看摄像头编号
安装v4l-utils
sudo apt install v4l-utils
查看共有几个
ls /dev/video*
# 修改顶部代码
# 01234 每个试一次就知道摄像头都属于哪个了
cv2.VideoCapture(0)
opencv读取视频中的某一帧
import cv2
cap = cv2.VideoCapture('XXX.avi') #返回一个capture对象
cap.set(cv2.CAP_PROP_POS_FRAMES,50) #设置要获取的帧号
a,b=cap.read() #read方法返回一个布尔值和一个视频帧。若帧读取成功,则返回True
cv2.imshow('b', b)
cv2.waitKey(1000)