视频馈送使用EmguCV在C#中闪烁/飞行

时间:2014-09-03 03:25:54

标签: c# video-streaming emgucv

我正在创建一个程序,可以从无人机比赛的视频源中转储单个帧。我遇到了一个问题,即从无人机出来的无线视频流在整个地方闪烁并飞舞。

Wireless Video Stream

我正在使用此代码捕获视频流:

Capture _capture;
Emgu.CV.Image<Emgu.CV.Structure.Bgr,byte> frame;

void StartCamera()
{
    _capture = null;
    _capture = new Capture((int)nudCamera.Value);
    _capture.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FPS, FrameRate);
    _capture.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT, FrameHeight);
    _capture.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_WIDTH, FrameWidth);
    webcam_frm_cnt = 0;
    cam = 1;
    Video_seek = 0;
    System.Windows.Forms.Application.Idle += ProcessFrame;
}

private void ProcessFrame(object sender, EventArgs arg)
{
    try
    {
        Framesno = _capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_POS_FRAMES);
        frame = _capture.QueryFrame();
        if (frame != null)
        {
            pictureBox1.Image = frame.ToBitmap();
            if (cam == 0)
            {
                Video_seek = (int)(Framesno);
                double time_index = _capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_POS_MSEC);
                //Time_Label.Text = "Time: " + TimeSpan.FromMilliseconds(time_index).ToString().Substring(0, 8);
                double framenumber = _capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_POS_FRAMES);
                //Frame_lbl.Text = "Frame: " + framenumber.ToString();
                Thread.Sleep((int)(1000.0 / FrameRate));
            }
            if (cam == 1)
            {
                //Frame_lbl.Text = "Frame: " + (webcam_frm_cnt++).ToString();
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message.ToString());
    }
}

我遗失的地方有没有设置? 此视频流闪烁似乎也发生在其他程序中,但是当您摆弄视频设置(NTSC / PAL设置)时它会自行修复

编辑:所以我需要能够将视频流置于NTSC / M模式,这可能与EmguCV一起使用吗?如果是这样,我该怎么做?

编辑2:我读过的所有文档都指向完全无法更改视频类型,并且没有关于此主题的文档。我希望被证明是错的:)

先谢谢

1 个答案:

答案 0 :(得分:0)

sourceforge link告诉您如何设置视频模式。