3

OpenCVがカメラ(dev / video1)をコンポジットまたはSビデオ入力に設定できるかどうか知りたいのですが。

私が使用していたカメラはコンポジット入力でのみ動作しますが、v4l2はデフォルトでSビデオ入力でdev/video1を開きます。V4l2は、QTV4l2utilsアプリケーションによってSビデオから複合入力に変更できます。

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 に答える