读取
捕获摄像头并显示
import cv2
# cv2.VideoCapture()创建VideoCapture对象 参数为设备索引号或者是视频文件
cap = cv2.VideoCapture(0) # 笔记本内置摄像头参数为0, 其他摄像头依次排列
if cap.isOpened():
print('succeed open video')
else:
print('don\'t open video')
while True:
# (一帧一帧)捕获视频
ret, frame = cap.read() # read返回bool值和帧,(帧读取是正常的,bool=True)
# 对帧进行操作
# gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xff == ord('q'):
break
# 停止捕获视频
cap.release()
cv2.destroyAllWindows()
保存视频
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter(r'F:\OPENCV\Opencv\output.avi', fourcc, 20.0, (640, 480))
while cap.isOpened():
ret, frame = cap.read()
if ret:
frame = cv2.flip(frame, 0) # 0 表示上下翻转, 1 表示水平翻转,
out.write(frame)
cv2.imshow('frame', frame)
if cv2.waitKey(10) & 0xff == ord('q'):
break
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()
读取显示视频文件
import cv2
import numpy as np
cap = cv2.VideoCapture(r'F:\OPENCV\Opencv\output.avi')
while cap.isOpened():
ret, frame = cap.read()
if ret:
frame = cv2.flip(frame, 0) # 0 表示上下翻转, 1 表示水平翻转,
cv2.imshow('frame', frame)
if cv2.waitKey(25) & 0xff == ord('q'):
break
else:
break
cap.release()
cv2.destroyAllWindows()