有什么办法可以在openCV中以不同的曝光时间(顺序)拍摄多个快照?

时间:2018-07-26 20:10:07

标签: python opencv

我正尝试从连接的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()

0 个答案:

没有答案