videocapture()的参数是设备的索引号,或者是一个视频文件。如果设备索引号是本身的笔记本的内置摄像头,则其参数为0.可以设置1或者其他的来选择别的摄像头。
import cv2
cap = cv2.VideoCapture(0)
while True:
# 一帧一帧读q取图像
ret, frame = cap.read()
# 将图像转换成灰度图
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 显示结果
cv2.imshow('frame', gray)
if cv2.waitKey(1)& 0xFF == ord('q'):
break
# 当所有的都做完,播放录像
cap.release()
cv2.destroyAllWindows()
上述代码会开启你的笔记本摄像头,然后将其转换为灰度图像,在播放出来。
•CV_CAP_PROP_POS_MSEC视频文件的当前位置,以毫秒为单位。
•接下来将要解码/捕获的帧的基于CV_CAP_PROP_POS_FRAMES的索引从0开始。
•CV_CAP_PROP_POS_AVI_RATIO视频文件的相对位置:0-电影的开始,1-电影的结束。 •CV_CAP_PROP_FRAME_WIDTH视频流中帧的宽度。
•CV_CAP_PROP_FRAME_HEIGHT视频流中帧的高度。
•CV_CAP_PROP_FPS帧速率。
•CV_CAP_PROP_FOURCC编解码器的4个字符的代码。
•CV_CAP_PROP_FRAME_COUNT视频文件中的帧数。
•CV_CAP_PROP_FORMAT由retrieve()返回的Mat对象的格式。
•CV_CAP_PROP_MODE特定于后端的值,指示当前的捕获模式。 •CV_CAP_PROP_BRIGHTNESS图像的亮度(仅适用于相机)。
•CV_CAP_PROP_CONTRAST图像的对比度(仅适用于相机)。 •CV_CAP_PROP_SATURATION图像的饱和度(仅适用于相机)。
•CV_CAP_PROP_HUE图像的色相(仅适用于相机)。
•CV_CAP_PROP_GAIN图像增益(仅适用于相机)。
•CV_CAP_PROP_EXPOSURE曝光(仅适用于相机)。
•CV_CAP_PROP_CONVERT_RGB布尔标志,指示是否应将图像转换为RGB
#fourcc意为四字符代码(Four-Character Codes),顾名思义,该编码由四个字符组成,下面是VideoWriter_fourcc对象一些常用的参数,注意:字符顺序不能弄混
#cv2.VideoWriter_fourcc(‘I’, ‘4’, ‘2’, ‘0’),该参数是YUV编码类型,文件名后缀为.avi
#cv2.VideoWriter_fourcc(‘P’, ‘I’, ‘M’, ‘I’),该参数是MPEG-1编码类型,文件名后缀为.avi
#cv2.VideoWriter_fourcc(‘X’, ‘V’, ‘I’, ‘D’),该参数是MPEG-4编码类型,文件名后缀为.avi
#cv2.VideoWriter_fourcc(‘T’, ‘H’, ‘E’, ‘O’),该参数是Ogg Vorbis,文件名后缀为.ogv
#cv2.VideoWriter_fourcc(‘F’, ‘L’, ‘V’, ‘1’),该参数是Flash视频,文件名后缀为.flv
作者:远叔
链接:https://www.jianshu.com/p/d239e221cab4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
import cv2
cap = cv2.VideoCapture(0)
# 定义编解码器和创造对象
fourcc = cv2.VideoWriter_fourcc(*'XVID')
# out是一个video writer实例化对象,第一个参数是要制作的视频文件名称
# 20是fps,接下来时视频的长宽,如果只保存灰度图贼还需要加上False。
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
while(True):
ret, frame = cap.read()
if ret == True:
frame = cv2.flip(frame, 0)
# 写入帧
out.write(frame)
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 完成所有操作之后,放出视频
cap.release()
out.release()
cv2.destroyAllWindows()
``
上述代码的功能是,打开你的摄像头,录取一段视频,然后将这段视频存储为文件名为output的avi文件。