首页 文章

OpenCV能够改为复合输入吗?

提问于
浏览
3

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

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

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

提前致谢 .

1 回答

  • 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;)

相关问题