我需要来自网络摄像头的视频。在带有Python-3.6和OpenCV-3的Anaconda上,它可以正常工作。然后,我在Idle中使用python-3.6和OpenCV-4.1.0尝试了相同的代码,但在anaconda中不起作用。我有两个黑色的上下边缘,只能看到图像的中间。我试图修改一些OpenCV设置,但情况变得更糟,现在只有当我放置强光时,我几乎看不到图像上的任何内容。两个边缘没有消失。
import cv2
capture = cv2.VideoCapture(0)
capture.set(cv2.CAP_PROP_SETTINGS, 0)
while(True):
ret, frame = capture.read()
cv2.imshow('video', frame)
if cv2.waitKey(1) == 27:
break
capture.release()
cv2.destroyAllWindows()
第capture.set(cv2.CAP_PROP_SETTINGS, 0)
行打开一个小的设置对话框,但是还有很多其他类似的东西,
我尝试从华硕安装一些相机驱动程序,但找不到适用于我的型号的相机驱动程序:FX504GE。此设置或smth是否可以恢复我的网络摄像头?我真的需要它...
答案 0 :(得分:0)
简单的方法是在启动相机时使用v4l2-ctrl读取所有参数。记录下初始值。在opencv中完成之后。使用v4l2-ctrl进行设置。
例如大小
v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=YUYV
还有其他功能,例如自动缩放,自动曝光和许多内容全部读取并全部设置