在Ubuntu上使用Python和OpenCV處理視頻流,你可以按照以下步驟進行:
pip install opencv-python
VideoCapture
類可以從攝像頭視頻中讀取數據。下面是一個簡單的例子,展示如何從默認攝像頭讀取視頻流:import cv2
cap = cv2.VideoCapture(0) # 使用默認攝像頭
while True:
ret, frame = cap.read() # 讀取一幀畫面
if not ret:
break # 如果讀取失敗,跳出循環
cv2.imshow('Video Stream', frame) # 顯示畫面
if cv2.waitKey(1) & 0xFF == ord('q'): # 按下'q'鍵退出
break
cap.release() # 釋放資源
cv2.destroyAllWindows() # 關閉所有窗口
import cv2
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 將幀轉換為灰度
cv2.imshow('Video Stream (Gray)', gray_frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
VideoWriter
類。下面是一個簡單的例子,展示如何將處理后的灰度視頻流保存到文件中:import cv2
cap = cv2.VideoCapture(0)
# 創建 VideoWriter 對象
fourcc = cv2.VideoWriter_fourcc(*'XVID') # 使用 XVID 編碼格式
output_file = 'output_video.avi'
out = cv2.VideoWriter(output_file, fourcc, 20.0, (640, 480)) # 創建 VideoWriter 對象
while True:
ret, frame = cap.read()
if not ret:
break
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
out.write(gray_frame) # 將處理后的幀寫入視頻文件
cap.release()
out.release()
cv2.destroyAllWindows()
這個例子將創建一個名為output_video.avi
的視頻文件,其中包含從攝像頭視頻中讀取并轉換為灰度的幀。