1. 程式人生 > >OpenCV 處理視訊 輸入輸出 Python

OpenCV 處理視訊 輸入輸出 Python

                     OpenCV 處理視訊  輸入輸出 Python

 

 簡介

視訊的處理和圖片的處理類似,只不過視訊處理需要連續處理一系列圖片

一般有兩種視訊源,一種是直接從硬碟載入視訊,另一種是獲取攝像頭視訊

 

本地讀取視訊

 

import numpy as np
import cv2
 
cap = cv2.VideoCapture('vtest.avi')
 
while(cap.isOpened()):
    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(0)
 
while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()
 
    # Our 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 capture
cap.release()
cv2.destroyAllWindows()

 

 

寫入視訊 

 

import numpy as np
import cv2
 
cap = cv2.VideoCapture(0)
 
# Define the codec and create VideoWriter object
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)
 
        # 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 finished
cap.release()
out.release()
cv2.destroyAllWindows()

 

希望對你有幫助。