怎么在python项目中利用openCV实现一个截取视频功能

  介绍

怎么在python项目中利用openCV实现一个截取视频功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

使用cv2对视频进行切割

import  cv2         def  clip_video (target_video, source_video,还以为,start_time, end_time):   时间=cap 才能;cv2.VideoCapture (source_video)   if 才能;not  cap.isOpened ():   ,,,logger_warning (& # 39; video  is  not 打开# 39;)   其他的才能:   成功,,,,,frame =, cap.read ()   ,,,f_shape =frame.shape   ,,,f_height =, f_shape[0], #,原视频图片的高度   ,,,f_width =, f_shape [1]   ,,,fps =, cap.get(5), #,帧速率   ,,,frame_number =, cap.get(7), #,视频文件的帧数   ,,,duration =, frame_number /, fps  #,视频总帧数/帧速率,是时间/秒【总共有多少秒的视频时间】   ,,,if  start_time 祝辞,duration 或是end_time 祝辞,持续时间:   ,,,,,回来   ,,,start_time =, fps  *,浮子(start_time)   ,,,end_time =, fps  *,浮子(end_time)   ,,,#,AVI格式编码输出,XVID   ,,,four_cc =, cv2.VideoWriter_fourcc (* & # 39; h264 # 39;)   ,,,video_writer =, cv2.VideoWriter (target_video, four_cc,, fps,, (int (f_width), int (f_height)))   ,,,num =0   ,,,while 正确的:   ,,,,,,,frame =, cap.read ()   ,,,,,if  int (start_time), & lt;=, int (num), & lt;=, int (end_time):   ,,,,,,,if 成功:   ,,,,,,,,,video_writer.write(框架)   ,,,,,,,其他的:   ,,,,,,,,,休息   ,,,,,num  +=1   ,,,,,if  num 祝辞,frame_number:   ,,,,,,,休息   ,,,cap.release ()

VideoWriter_fourcc编码格式:

fourcc意为四字符代码(四码),顾名思义,该编码由四个字符组成,下面是VideoWriter_fourcc对象一些常用的参数,注意:字符顺序不能弄混
cv2.VideoWriter_fourcc(& # 39;我# 39;& # 39;4 & # 39;,& # 39;2 & # 39;,& # 39;0 & # 39;),该参数是YUV编码类型,文件名后缀为.avi
cv2.VideoWriter_fourcc (& # 39; p # 39; & # 39;我# 39;,& # 39;猴# 39;,& # 39;我# 39;),该参数是mpeg 1编码类型,文件名后缀为.avi
cv2.VideoWriter_fourcc (& # 39; x # 39; & # 39; v # 39;, & # 39;我# 39;,& # 39;d # 39;),该参数是mpeg - 4编码类型,文件名后缀为.avi
cv2.VideoWriter_fourcc (& # 39; t # 39; & # 39; h # 39;, & # 39; e # 39;, & # 39; o # 39;),该参数是Ogg Vorbis,文件名后缀为.ogv
cv2.VideoWriter_fourcc (& # 39; f # 39; & # 39; l # 39;, & # 39; v # 39;, & # 39; 1 & # 39;),该参数是Flash视频,文件名后缀为。flv

看完上述内容,你们掌握怎么在python项目中利用openCV实现一个截取视频功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

怎么在python项目中利用openCV实现一个截取视频功能