欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

零基础入门机器视觉(六)

程序员文章站 2022-07-09 22:31:36
...

简单的调用摄像头并保存

先放几个编码器

1)cv.VideoWrite_fourcc(‘I’, ‘4’, ‘0’, ‘2’): 这个选项时一个未压缩的YUE颜色编码,是4:2:0色度子采样。这种编码具有很好的兼容性,但是会产生较大的文件,文件的扩展名为 .avi (这个一般是常用的)

2)cv.VideoWrite_fourcc(‘P’, ‘I’, ‘M’, ‘1’):这个选项是MPEG-1编码类型,文件的扩展名为 .avi
3)cv.VideoWrite_fourcc(‘X’, ‘V’, ‘I’, ‘D’):该选项为MPEG-4编码类型,如果希望得到的视频大小为平均值,推荐使用此选项,文件的扩展名为 .avi
4)cv.VideoWrite_fourcc(‘T’, ‘H’, ‘E’, ‘O’):该选项是Ogg Vorbis, 文件的扩展名为 .ogv
5)cv.VideoWrite_fourcc(‘F’, ‘L’, ‘V’, ‘1’):该选项是一个Flash视频,文件的扩展名为 .flv

这些你根本不用记,你只需要知道有这么些东西就行了,需要用的时候查看就行了

先上代码

保存视频
captrue = cv.VideoCapture(0)
fps = 30 #帧数
size = (int(captrue.get(cv.CAP_PROP_FRAME_WIDTH)), int(captrue.get(cv.CAP_PROP_FRAME_HEIGHT)))
video = cv.VideoWriter('123.avi', cv.VideoWriter_fourcc('I','4', '2', '0'), fps, size)
success,frame = captrue.read()
num = 10 * fps - 1 #这里的 数字 10 表示的是调用摄像头并保存的时间
while success and num > 0:
    video.write(frame)
    success, frame = captrue.read()
    num -= 1
captrue.release()

cv.VideoCaptrue(0)在之前介绍过,就不再提了

cv.ViderWriter(参数1,参数2, 参数3,参数4)
{
1)参数1表示的是待存储视频的名称
2)参数2表示指定文件的编码器
3)参数3表示的是图片的帧数
4)参数4表示的是视频的尺寸
}

然后就通过VideoWrite()保存每一帧就行了
好了,这些就没啥要说的了