繁体   English   中英

使用EmguCV在C#中使视频源闪烁/闪烁

[英]Video feed flickering/flying in C# using EmguCV

我正在创建一个程序,该程序可以从视频源中转储单个帧以进行无人机竞赛。 我遇到一个问题,即从无人机传来的无线视频流在各处闪烁和飞行。

无线视频流

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

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:我阅读的所有文档都指出,完全不可能完全更改视频类型,并且没有关于此主题的文档。 我很想被证明是错误的:)

提前致谢

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM