python 延时_Python&OpenCV学习之旅(三)视频功能(延时摄影)

本文介绍了如何使用Python的OpenCV库,通过控制摄像头捕获连续帧,并利用VideoWriter函数将这些帧合成延时视频。重点讲解了参数设置、帧率选择和视频编码的过程,适合初学者了解视频处理基础。
摘要由CSDN通过智能技术生成

8a01c3581d8de90f537b7f83ab003453.png

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#-----------------------------------------------------------------------------------------------------------------------
#三、视频功能(延时摄影)
#-----------------------------------------------------------------------------------------------------------------------
import cv2
import time
interval=2 #捕获图像的间隔,单位:秒
num_frames=15 #捕获图像的总帧数
out_fps=24 #输出文件的帧率
#打开默认的相机
cap=cv2.VideoCapture(0) #VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频
#获取捕获的分辨率
size=(int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)))#OpenCV 2.4.13.7
#设置要保存的视频的编码、分辨率和频率
video=cv2.VideoWriter(
"D:time_lapse.avi",#可以更改文件保存位置,默认保存在与程序相同的文件夹中
-1,# #cv2.VideoWriter()第二个参数设置为-1,程序运行时则会交互地弹出一个对话框让你从系统已有的编码中选择一个。
# cv2.VideoWriter_fourcc("M","P","4","2"),
out_fps,
size
)
# 视频编码类型
# cv2.VideoWriter_fourcc('X','V','I','D') MPEG-4 编码类型
# cv2.VideoWriter_fourcc('I','4','2','0') YUY编码类型
# cv2.VideoWriter_fourcc('P','I','M','I') MPEG-1 编码类型
# cv2.VideoWriter_fourcc('T','H','E','O') Ogg Vorbis类型,文件名为.ogv
# cv2.VideoWriter_fourcc('F','L','V','1') Flask视频,文件名为.flv
#对于一些低画质的摄像头,前面的帧可能不稳定,略过
for i in range(42):
cap.read()
#开始捕获,通过read函数获取捕获的帧
try:
for i in range(num_frames):
_,frame=cap.read()
video.write(frame)
# 如果希望每一帧也存成文件,比如制作GIF,则取消下面注释
# filename="{:0>6d}.png".format(i)
# cv2.imwrite(filename,frame)
print("Frame {} is captured.".format(i))
time.sleep(interval)
except KeyboardInterrupt:#用来获取用户 Ctrl+C 的终止
#提前停止捕获
print("Stopped! {}/{} frames captured!".format(i,num_frames))
#释放资源并写入视频文件
video.release()
cap.release()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值