OpenCV能够改为复合输入吗?

时间:2013-03-11 00:32:15

标签: opencv v4l2 v4l

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

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

opencv正在使用v4l从摄像头捕获图像,我想使用OpenCV在代码中更改为复合输入。那可能吗?如果不是,那么解决方案是什么?

提前致谢。

1 个答案:

答案 0 :(得分:3)

您只需使用“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:device(在我的情况下为/ dev / video0),
  • -i:输入。我的Easycap(0 = CVBS0; 1 = CVBS1; 2 = CVBS2; 3 = CVBS3; 4 = CVBS4; 5 = S-VIDEO)
  • -s:norm(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;)< / LI>