用OpenCV设置破坏网络摄像机后如何将其恢复为默认设置?

时间:2019-06-07 05:25:46

标签: opencv python-3.6

我需要来自网络摄像头的视频。在带有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)行打开一个小的设置对话框,但是还有很多其他类似的东西,

  1. CV_CAP_PROP_POS_MSEC视频文件的当前位置,以毫秒为单位。
  2. 接下来要解码/捕获的帧的基于CV_CAP_PROP_POS_FRAMES的索引0。
  3. CV_CAP_PROP_POS_AVI_RATIO视频文件的相对位置
  4. CV_CAP_PROP_FRAME_WIDTH视频流中帧的宽度。
  5. CV_CAP_PROP_FRAME_HEIGHT视频流中帧的高度。
  6. CV_CAP_PROP_FPS帧频。
  7. CV_CAP_PROP_FOURCC编解码器的4个字符的代码。
  8. CV_CAP_PROP_FRAME_COUNT视频文件中的帧数。
  9. CV_CAP_PROP_FORMAT由Retrieve()返回的Mat对象的格式。
  10. CV_CAP_PROP_MODE特定于后端的值,指示当前的捕获模式。
  11. CV_CAP_PROP_BRIGHTNESS图像的亮度(仅适用于相机)。
  12. CV_CAP_PROP_CONTRAST图像的对比度(仅适用于相机)。
  13. CV_CAP_PROP_SATURATION图像的饱和度(仅适用于相机)。
  14. 图像的CV_CAP_PROP_HUE色相(仅适用于相机)。
  15. CV_CAP_PROP_GAIN图像的增益(仅适用于摄像机)。
  16. CV_CAP_PROP_EXPOSURE曝光(仅适用于相机)。
  17. CV_CAP_PROP_CONVERT_RGB布尔型标志,指示是否应将图像转换为RGB。
  18. 当前不支持CV_CAP_PROP_WHITE_BALANCE
  19. CV_CAP_PROP_RECTIFICATION立体摄像机的纠正标志(注意:当前仅受DC1394 v 2.x后端支持)

我尝试从华硕安装一些相机驱动程序,但找不到适用于我的型号的相机驱动程序:FX504GE。此设置或smth是否可以恢复我的网络摄像头?我真的需要它...

1 个答案:

答案 0 :(得分:0)

简单的方法是在启动相机时使用v4l2-ctrl读取所有参数。记录下初始值。在opencv中完成之后。使用v4l2-ctrl进行设置。

例如大小

v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=YUYV

还有其他功能,例如自动缩放,自动曝光和许多内容全部读取并全部设置