版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TingHW/article/details/84486554
# 从摄像头捕捉
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
# 处理视频
import numpy as np
import cv2
cap = cv2.VideoCapture('video.mp4')
while(cap.isOpened()):
ret,frame = cap.read();
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
if cv2.waitKey(1)==ord('q'):
break;
cap.release()
cv2.destroyAllWindows()
# 下面的代码从摄像头捕获视频,每一帧都垂直翻转,然后保存
# 转码失败
import numpy as np
import cv2
cap = cv2.VideoCapture('video.avi')
fourcc = cv2.VideoWriter_fourcc('P', 'I', 'M', 'I')
out = cv2.VideoWriter('turn_video.avi',fourcc, 20.0, (640, 480))
while(cap.isOpened()):
ret,frame = cap.read()
if ret == True:
frame = cv2.flip(frame, 0)
out.write(frame)
cv2.imshow('frame', frame)
if cv2.waitKey(1) == ord('q'):
break
else:
break
# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()