python读取视频,Python保存视频

  python读取视频,Python保存视频

  使用python3 opencv3.3.1环境将视频流保存为本地视频文件,具体如下

  1.使用opencv中的VideoCapture类获取视频流的链接,通过cv2获取视频流的帧数和每帧的大小。

  2.使用VideoWriter类对视频进行编码并输出视频。

  3.视频流通过VideoCapture的read()方法解码成每一帧。

  4.一旦我们得到每一帧,我们就可以做图像算法(如识别,图像增强,灰度变换等。)用于该帧。

  实例代码

  importcv2

  frommatplotlibimportpyplotasplt

  #通过cv2中的类获取视频流操作对象cap

  cap=cv2。video capture( RTSP ://admin : passwd @ 10 . 130 . 10 . 111:554/MPEG-4/ch1/main/av _ stream )

  #调用cv2方法获取cap的视频帧(帧:每秒多少张图片)

  fps=cap.get(cv2。CAP_PROP_FPS)

  打印(fps)

  #获取cap视频流每帧的大小

  size=(int(cap.get(cv2。CAP_PROP_FRAME_WIDTH),

  int(cap.get(cv2。帽_道具_框架_高度)))

  打印(尺寸)

  #定义编码格式mpge-4

  fourcc=cv2。VideoWriter_fourcc(M , P , 4 , 2 )

  #定义视频文件输入对象

  outVideo=cv2。VideoWriter(saveDir.avi ,fourcc,fps,size)

  #获取视频流打开状态

  ifcap.isOpened():

  rval,frame=cap.read()

  打印(真)

  else:

  rval=False

  打印(“假”)

  tot=1

  c=1

  #回收cv2的read()方法读取视频帧。

  whilerval:

  rval,frame=cap.read()

  cv2.imshow(test ,frame)

  #每20帧保存一帧图像

  #iftot==0:

  #cv2.imwrite(cut/ cut_ str(c))。jpg ,框架)

  #c=1

  tot=1

  打印( tot=,tot)

  #使用VideoWriter类中的write(frame)方法将图像帧写入视频文件。

  outVideo.write(帧)

  cv2.waitKey(1)

  cap.release()

  outVideo.release()

  cv2 . destroyallwindows()结果:

  推荐课程:Python基础入门

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: