簡體   English   中英

捕獲圖片的cv2分辨率

[英]cv2 resolution of captured picture

您好,我有這個簡單的代碼:

from cv2 import *
import time
# initialize the camera


for x in range (10):
    cam = VideoCapture(0)   # 0 -> index of camera
    s,img = cam.read()
    imwrite(str(x) + ".jpg",img) #save image
    time.sleep(3)
    print(x)
    cam.release()

我想知道以下兩件事:-我的網絡攝像頭的默認分辨率是否高於腳本用來保存圖片的分辨率? -是否有任何命令來檢查攝像頭的最大分辨率(我想將此分辨率設置為默認輸出)?

實際上,有一種方法可以檢查網絡攝像頭的默認分辨率。

  • 首先使用cap = cv2.VideoCapture(0)啟動網絡攝像頭。
  • 然后使用get()方法,輸入以下內容,並在打印wh時獲得網絡攝像頭的寬度和高度:

     w = cap.get(cv2.CAP_PROP_FRAME_WIDTH) h = cap.get(cv2.CAP_PROP_FRAME_HEIGHT) 

這是對您的第二個問題的答復。 是的,您可以使用以下set()方法選擇寬度和高度來更改網絡攝像頭的分辨率:

cap.set(cv2.CAP_PROP_FRAME_WIDTH, width)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, height)

即使更改寬度和高度,相機驅動程序仍會保持寬高比。 因此,您不一定總能獲得所需的確切高度/寬度。

示例:當我將寬度和高度分別設置為80時。 它沒有設置。 而是將寬度設置為320,高度設置為180。同樣,當我將其都設置為800時,它返回的寬度為848,高度為480。

相機驅動程序可保持寬高比。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM