OpenCV Python更改相機輸出視頻格式爲MJPEG,更改顯示的默認分辨率

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是正常的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章