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()