Ich schreibe C++/OpenCV-Code für einige Bildverarbeitungsroutinen und verwende die Webkamera meines Dell Precision 7730, um Testvideoeingaben zu erhalten. Die Grafikkarte ist Quadro P5200.
Ich habe in Windows 10 mit VSE 2015 und OpenCV 4.1.0 begonnen. Dort kann ich Webcam-Videos in der Größe 1280 x 720 aufnehmen und mit 30 Bildern pro Sekunde oder der von der Kamera ausgegebenen Rate anzeigen.
Aber ich bin vor Kurzem auf Ubuntu 18.04 mit Eclipse (installiert auf der zweiten SSD) umgestiegen, weil bei unserer aktuellen externen Prototypkamera, die Videos über UDP-Pakete an den Ethernet-Port sendet, Windows zu viele Empfangspakete verloren hat. (Das ist ein anderes Problem, das wir später angehen müssen, aber Ubuntu verursacht keine verlorenen Pakete – wir können diese mit 30 Bildern pro Sekunde empfangen und anzeigen.)
Allerdings ist die Webcam jetzt in Ubuntu auf < 10 fps begrenzt, wobei im Wesentlichen der gleiche C++-Code verwendet wird. Selbst wenn ich nichts anderes mache als aufzunehmen (cap >> Mat) und anzuzeigen (imshow), liegt der Rückgang oft bei etwa 7,5 fps.
Die Ubuntu-App Cheese scheint dieses Problem jedoch nicht zu haben, die Bildrate scheint bei 30 fps zu liegen.
Weiß jemand, was in Ubuntu passieren könnte, um die Bildrate der Webcam in einer benutzerdefinierten OpenCV-App zu drosseln? Und wie kann man das beheben?
Beachten Sie, dass ich die umschaltbare Grafik im BIOS aus Gründen der Ubuntu-Stabilität deaktiviert habe, aber ich denke, das kann nur helfen.