我正尝试从连接的USB相机依次以不同的曝光时间拍摄多个快照。但是,在每次采集前更改曝光时间后,曝光时间仍与第一个快照的曝光时间相同(通过查看图像可以看到)(即使cap.get()仍返回新的曝光时间)。此外,使用.release()时,相机不会关闭。也许是驾驶员问题?结果与戴尔上随附的网络摄像头相同。
Python v3.7.0上的openCV v3.4.2
import numpy as np
import cv2
from matplotlib import pyplot as plt
cap = cv2.VideoCapture(1)
exp = cap.get(15)
width = cap.get(3)
height = cap.get(4)
print(f'original exporsure {exp:1}')
cap.set(15,-5) #set first exposure
ret, frame = cap.read() #get a single frame
print(f'exposure 1 {cap.get(15):1}')
cv2.imshow('1',frame)
cv2.waitKey(0)
cv2.destroyAllWindows()
cap.set(15,-10) #set second exposure
ret2, frame2 = cap.read()
print(f'exposure 2 {cap.get(15):1}')
cv2.imshow('2',frame2)
cv2.waitKey(0)
cap.release()
cv2.destroyAllWindows()