[英]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()
方法,輸入以下內容,並在打印w
和h
時獲得網絡攝像頭的寬度和高度:
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.