如何解决OpenCV摄像头无法捕捉光线
我正在尝试使用Mac上的网络摄像头拍照。我正在使用OpenCV。但是,如果房间里的灯不亮,则图像非常暗。有什么方法可以使用“闪光灯”使光线进入图像?还是有其他选择可以使光线进入图像?
如果您有任何疑问或需要更多信息,请随时提问。
这是我的拍照代码:
import cv2
camera = cv2.VideoCapture(0)
input('Press Enter to capture')
return_value,image = camera.read()
cv2.imwrite('opencv'+'.png',image)
del(camera)
解决方法
您可以在屏幕上显示白色图像以进行“闪光”:
import cv2
import numpy as np
flash_lite = np.ones((1080,1920),np.uint8) * 255
camera = cv2.VideoCapture(0)
input('Press Enter to capture')
cv2.namedWindow ('flash',cv2.WINDOW_NORMAL)
cv2.setWindowProperty ('flash',cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN)
cv2.imshow ('flash',flash_lite)
cv2.waitKey(100)
return_value,image = camera.read()
cv2.destroyWindow('flash')
cv2.imwrite('opencv.png',image)
,
由于您始终打开屏幕。您可以提高相机的亮度
cam.set(cv2.CAP_PROP_BRIGHTNESS,brightness)
您可以使用此功能从相机获取当前亮度
brightness = cam.set(cv2.CAP_PROP_BRIGHTNESS.get(10)
然后尝试播放亮度
请注意,这会影响图像处理。最好使用USB光源。
要获得更多控制权,您可以参考this
我没有MAc,如果您可以通过Python创建脚本调用,那么您可以考虑this
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。