Opencv学习笔记(二十五)摄像头或视频文件读取、显示、保存

读取

捕获摄像头并显示

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

你可能感兴趣的:(opencv,视频处理)