OpenCV 教程(2) -- 基本视频处理

来源:互联网 发布:神的随波逐流动作数据 编辑:程序博客网 时间:2024/05/17 02:43
import numpy as npimport cv2
# Capture Video from Cameracap = cv2.VideoCapture(0)while(True):    # Capture frame-by-frame    ret, frame = cap.read()    # Out operations on the frame come here    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)    # Display the resulting frame    cv2.imshow('frame', gray)    if cv2.waitKey(1) & 0xFF == ord('q'):        break# When everything done, release the capturecap.release()cv2.destroyAllWindows()
# Play Video from Filecap = cv2.VideoCapture('output.avi')while(cap.isOpened()):    ret, frame = cap.read()    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)    cv2.imshow('frame', gray)    if cv2.waitKey(10) & 0xFF == ord('q'):        breakcap.release()cv2.destroyAllWindows()
# Saving a Videocap = cv2.VideoCapture(0)# Define the codec and create VideoWriter object# FourCC is a 4-byte code used to specify the video codec.# In Fedora: DIVX, XVID, MJPG, X264, WMV1, WMV2. # (XVID is more preferable. MJPG results in high size video. # X264 gives very small size video)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,1)        # write the flipped frame        out.write(frame)        cv2.imshow('frame', frame)        if cv2.waitKey(1) & 0xFF == ord('q'):            break    else:        break# Release everything if job is finishedcap.release()out.release()cv2.destroyAllWindows()