摄像头录取采集 # VideoCapture(0) 摄像头采集,传入设备号,一般设备号从0开始 VideoCapture(filepath)也可以传入视频目录 1.设置相关的摄像头参数(不要轻易改变) capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080);//宽度 capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);//高度 capture.set(CV_CAP_PROP_FPS, 30);//帧率 帧/秒 capture.set(CV_CAP_PROP_BRIGHTNESS, 1);//亮度 1 capture.set(CV_CAP_PROP_CONTRAST,40);//对比度 40 capture.set(CV_CAP_PROP_SATURATION, 50);//饱和度 50 capture.set(CV_CAP_PROP_HUE, 50);//色调 50 capture.set(CV_CAP_PROP_EXPOSURE, 50);//曝光 50 2.获取摄像头参数 capture.get(CV_CAP_PROP_FRAME_WIDTH); capture.get(CV_CAP_PROP_FRAME_HEIGHT); capture.get(CV_CAP_PROP_FPS); capture.get(CV_CAP_PROP_BRIGHTNESS); capture.get(CV_CAP_PROP_CONTRAST); capture.get(CV_CAP_PROP_SATURATION); capture.get(CV_CAP_PROP_HUE); capture.get(CV_CAP_PROP_EXPOSURE); # cap.read() 将传入的视频帧读取出来 cap.read()方法返回两个数值,分别为ret代表视频帧是否读取到,frame代表视频帧 # cap.release() 释放掉资源,跟释放窗口放一起
示例代码:
import cv2 as cv
#--------------------------------
# 创建窗口
cv.namedWindow('video', cv.WINDOW_NORMAL)
# 获取视频设备
# cap = cv.VideoCapture(0)# 获取摄像头,默认为0
cap = cv.VideoCapture('filename')# 根据视频获取图片,唯一的变化仅参数改为视频路径
while True:
# 从摄像头读取视频帧
ret, frame = cap.read()# 返回俩参数,参数一:ret表示意思是否读取到视频帧,参数二是读到的视频帧
# 显示视频帧
cv.imshow('video', frame)
key = cv.waitKey(1)
if key & 0xFF == ord('q'):
break
# 释放Videocapture
cap.release()
# 释放窗口
cv.destroyAllWindows()