[英]1 second video stream latency occurred with Emgu CV
我有一个视线解码器设备通过以太网连接到我的PC。
我使用Emgucv捕获视频流并在图像框中查看它。
这是代码的一部分:
_capture = new Capture("udp://@169.254.1.144:15004");
_capture.ImageGrabbed += ProcessFrame;
Image<Bgr, Byte> frame,frame1;
private void ProcessFrame(object sender, EventArgs arg)
{
frame = _capture.RetrieveBgrFrame();
pictureBox1.Image = frame.ToBitmap();
}
在Imagebox
观看的视频,但有1秒的延迟; 我计算出帧达到了ProcessFramefunction
及其12fps和正确的水平;
ImageGrabbed
事件是否导致此延迟?
为什么会发生延迟?
注意:我使用USB摄像头代替了视线,并且效果很好; 另外,可以通过以太网播放摄像机的视线外线也可以正常工作。
这是由“捕获”对象使用的默认缓冲区的长度引起的。 原始OpenCV具有一个“ CV_CAP_PROP_BUFFERSIZE”标志,您可以使用.set()进行设置以更改此值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.