¿Cómo puedo acelerar la captura de la cámara web interna de la computadora portátil en Ubuntu 18.04 frente a Windows 10?

¿Cómo puedo acelerar la captura de la cámara web interna de la computadora portátil en Ubuntu 18.04 frente a Windows 10?

Estoy escribiendo código C++/opencv para algunas rutinas de procesamiento de imágenes y estoy usando la cámara web de mi Dell Precision 7730 para obtener una entrada de video de prueba. La tarjeta de video es Quadro P5200.

Comencé en Windows 10 usando VSE 2015 y opencv 4.1.0. Allí puedo capturar videos de la cámara web de 1280x720 y mostrarlos a 30 fps, o cualquier velocidad que emita la cámara.

Pero recientemente cambié a Ubuntu 18.04 con Eclipse (instalado en el segundo SSD) porque con nuestro prototipo de cámara externa real, que envía video a través de paquetes UDP al puerto Ethernet, Windows estaba eliminando demasiados paquetes de recepción. (Ese es otro problema que abordaremos más adelante, pero Ubuntu no provoca la caída de ningún paquete; podemos recibirlos y mostrarlos a 30 fps).

Sin embargo, ahora en Ubuntu la cámara web se limita a <10 fps usando esencialmente el mismo código C++. Incluso si no hago nada más que capturar (cap >> Mat) y mostrar (imshow), a menudo baja alrededor de 7,5 fps.

Sin embargo, la aplicación Cheese de Ubuntu no parece tener este problema, la velocidad de fotogramas parece ser de 30 fps.

¿Alguien sabe qué podría estar pasando en Ubuntu para reducir la velocidad de fotogramas de la cámara web en una aplicación opencv personalizada? ¿Y cómo solucionarlo?

Tenga en cuenta que desactivé los gráficos intercambiables en el BIOS para la estabilidad de Ubuntu, pero creo que esto solo podría ayudar.

información relacionada