python+opencv+usb摄像头 拍照太暗问题

打开摄像头(不拍照,就一直打开着),里面的图像是比较清晰的(说明摄像头参数设置没问题),但用下面程序拍照,得到的照片比较暗

import cv2
cap = cv2.VideoCapture(1)#打开usb摄像头
ret, frame = cap.read() 
# cap.read()返回两个值,第一个存储一个bool值,表示拍摄成功与否。第 二个是当前截取的图片帧。
cv2.imwrite("***.jpg", frame) # 保存图片(拍照完成)
cap.release() # 释放摄像头

我认为是程序执行太快,摄像头还没启动好,就截取图片,造成了图片太暗。使用以下程序就能得到正常图片

import cv2
cap = cv2.VideoCapture(camera_idx)
i=10
while i>0:
    i=i-1
    ret, frame = cap.read() 
    cv2.imwrite("10.jpg", frame)
cap.release()

思路是在循环拍照过程中(得到的图片还是一张,之前的都被最后一张取代了)等待摄像头启动。摄像头启动好了,拍照自然就清晰了。

你可能感兴趣的:(python,opencv,usb摄像头,拍照太暗)