OpenCV默認分辨率爲640x480
買的相機支持1280x720 MJPEG格式 30幀
程序如下:
# 模塊導入
import numpy as np
import cv2 as cv
# 相機捕獲
cap = cv.VideoCapture(1,cv.CAP_DSHOW)
#更改默認參數
cap.set(6,cv.VideoWriter.fourcc('M','J','P','G'))# 視頻流格式
cap.set(5, 30);# 幀率
cap.set(3, 1280)# 幀寬
cap.set(4, 720)# 幀高
# 獲取相機寬高以及幀率
width = cap.get(3)
height = cap.get(4)
frame = cap.get(5) #幀率只對視頻有效,因此返回值爲0
#打印信息
print(width ,height)
# 循環
while(True):
# 獲取一幀圖片
ret, img = cap.read()
# 顯示圖片
cv.imshow('img', img)
# 等待鍵盤事件
k = cv.waitKey(1) & 0xFF
if k == 27:
break
#資源釋放
cap.release()
cv.destroyAllWindows()
結果:
注意:
cap.set的四個,順序不要改變,更改視頻輸出格式放在第一個
cap.get獲取的幀率對視頻有效,因此print時輸出爲0是正常的