2017-01-22 2 views
0

Ich habe eine Sichtlinie Decoder Gerät mit meinem PC über Ethernet verbunden.1 Sekunde Video Stream Latenz aufgetreten mit Emgu CV

Ich habe Emgucv verwendet, um den Videostream zu erfassen und in einer Bildbox anzuzeigen.

ist hier Teil des Codes:

_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(); 
} 

das Video im Imagebox betrachtet, aber mit 1 sec Latenz; Ich zählte den Rahmen erreichte die ProcessFramefunction und seine 12fps und seine korrekte;

Verursacht das Ereignis ImageGrabbed diese Latenz?

Warum tritt die Latenz auf?

Hinweis: Ich benutzte eine USB-Kamera anstelle der Sichtlinie und funktionierte gut; Auch das Sichtlinien-Plus, das die Kamera über Ethernet wiedergeben kann, funktioniert ebenfalls.

Antwort

0

Dies wird durch die Länge des vom 'Capture'-Objekt verwendeten Standardpuffers verursacht. Raw OpenCV hat eine ‚CV_CAP_PROP_BUFFERSIZE‘ Flag Sie diesen Wert ändern, setzen kann mit .set()

+0

danke, CV_CAP_PROP_BUFFERSIZE nur von DC1394 v 2.x-Backend unterstützt derzeit so wie kann ich es ersetzen –

Verwandte Themen