3

我想知道 OpenCV 是否能够将相机(dev/video1)设置为复合或 S-video 输入。

我使用的相机仅在复合输入中运行,但 v4l2 默认在 S-Video 输入中打开 dev/video1。V4l2 能够通过 QT V4l2 utils 应用程序从 S-video 更改为复合输入。

opencv 使用 v4l 从相机捕获图像,我想使用 OpenCV 更改为代码中的复合输入。那可能吗?如果不是,解决这个问题的方法是什么?

提前致谢。

4

1 回答 1

4

您只需使用“v4l2-ctl”更改输入!例如,我在我的树莓上使用 Python 来使用 OpenCV 从 S-Video 捕获视频流:

    import cv, os

    print "Initializing video capture from /dev/video0 ..."
    capture = cv.CaptureFromCAM(0)
    cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH, 720)
    cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT, 576)

    print "Configuring video capture (V4L2) ..."
    os.system("v4l2-ctl -d /dev/video0 -i 5 -s 4 --set-fmt-video=width=720,height=576,pixelformat=4")

和 :

  • -d :设备(在我的情况下是 /dev/video0),
  • -i:输入。对于我的 Easycap(0 = CVBS0;1 = CVBS1;2 = CVBS2;3 = CVBS3;4 = CVBS4;5 = S-VIDEO)
  • -s:规范(0 = PAL_BGHIN;1 = NTSC_N_443;2 = PAL_Nc;3 = NTSC_N;4 = SECAM;5 = NTSC_M;6 = NTSC_M_JP;7 = PAL_60;8 = NTSC_443;9 = PAL_M;)
于 2013-04-28T12:11:02.690 回答