【opencv-python】视频的捕获、播放、保存

1、用摄像头捕获视频(并转化为灰度视频)

cap = cv2.VideoCapture(0)#0:笔记本内置摄像头,根据需要设置
while(True):
# 逐帧捕获视频
    ret, frame = cap.read()#返回一个布尔值,帧读取正确为True

#对框架进行操作
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)#转化为灰度视频

    # 显示结果框架
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 完成所有的操作以后释放捕获
cap.release()
cv2.destroyAllWindows()

2、从文件中播放视频

cap = cv2.VideoCapture(0)

# #定义编解码器并创建VideoWriter对象
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.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) & 0xFF == ord('q'):
        break
    else:
        break

# 如果工作完成,释放所有内容
cap.release()
out.release()
cv2.destroyAllWindows()

** 3、视频的保存**

cap = cv2.VideoCapture(0)

# #定义编解码器并创建VideoWriter对象
fourcc = cv2.cv.FOURCC(*'XVID')
out = cv2.VideoWriter('output.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) & 0xFF == ord('q'):
        break
    else:
        break

# 如果工作完成,释放所有内容
cap.release()
out.release()
cv2.destroyAllWindows()

猜你喜欢

转载自blog.csdn.net/ZHANGHUIHUIA/article/details/86508762