2013-03-11 49 views
3

我想知道OpenCV是否能夠將相機(dev/video1)設置爲複合或S視頻輸入。OpenCV能夠改變爲複合輸入嗎?

我使用的相機只能在複合輸入中運行,但默認情況下,v412會在S-Video輸入中打開dev/video1。 V4l2能夠通過QT V4l2 utils應用程序從S視頻切換到複合輸入。

opencv使用v4l從相機捕獲圖像,並且我想要使用OpenCV更改爲代碼中的複合輸入。那可能嗎?如果不是,這有什麼解決辦法?

在此先感謝。

回答

3

你只需要改變「v4l2-ctl」的輸入!例如,我使用Python我的覆盆子來捕獲的S-Video視頻流與OpenCV的:

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: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;)
+0

我明白了。謝謝。 正如你所說,我用v4l2-clt設置輸入爲1(這是我的設備的複合輸入),如下所示: v4l2-ctl -d/dev/video1 -i 1 – user2155042 2013-07-31 23:50:54