(二)处理视频

1.处理视频,尝试在虚拟机中使用摄像头,没有成功,后面直接读的一段视频 

 import cv2                                                                                                                           
 import numpy as np
 
 #处理视频
 
 #0 表示第一个网络摄像头(自带的)
 #1 表示第二个(外接)
 #也可以直接填入视频路径
 cap=cv2.VideoCapture('video.mp4')
 
 while(cap.isOpened()):
         #ret判断是否读完
         #frame带颜色的帧
         ret,frame = cap.read()
         #获得每一帧的灰度图
         gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
         if ret == True:
                 cv2.imshow('frame',frame)
                 cv2.imshow('gray',gray)
         else:
                 break
         #按q退出 
         #每一帧等待100ms
         if cv2.waitKey(100) & 0xFF == ord('q'):
            break
 #释放资源
 cap.release()
 cv2.destroyAllWindows()

 

2.保存视频.。可以成功保存,但是不能正常播放,可能是参数不对,后面解决

import cv2
 import numpy as np
 
 #handle video

 cap=cv2.VideoCapture('video.mp4')
 
 fourcc = cv2.VideoWriter_fourcc(*'XVID')
 out = cv2.VideoWriter('output.mp4',fourcc,20.0,(640,480))                                                                            
 while(cap.isOpened()):
         ret,frame = cap.read()
         gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
         out.write(gray)
         if ret == True:
                 cv2.imshow('frame',frame)
                 cv2.imshow('gray',gray)
         else:
                 break

         if cv2.waitKey(100) & 0xFF == ord('q'):
            break
 cap.release()
 out.release()
 cv2.destroyAllWindows()
原文地址:https://www.cnblogs.com/sunnyCx/p/8135846.html