Una vista previa de vídeo exitosa por sí sola no es prueba suficiente de una captura estable de imágenes sin procesar en el modo de funcionamiento previsto. El software de visualización puede utilizar una resolución más baja, una secuencia comprimida, fotogramas omitidos o una política de almacenamiento en búfer diferente. Registre los modos de funcionamiento y los límites de medición y manténgalos constantes antes de localizar el problema en el dispositivo, transporte, conductor o cola de aplicaciones.

Definir la capa donde se pierden los fotogramas

Ubicación Campos observables Distinción para preservar
Dispositivo y transporte Identificadores de trama de dispositivo, estado y errores de transferencia No generado, no recibido e inválido son eventos diferentes
Recepción del anfitrión Recuento recibido, longitud válida, formato y errores Un buffer recibido no es necesariamente una imagen válida
Adaptador y cola Motivos de puesta en cola, retirada de cola, espera, ocupación y descarte El muestreo intencional y la pérdida no intencionada necesitan contadores separados
Procesamiento y salida Inicio, finalización, tiempos de espera e identificadores de resultados Un resultado faltante puede reflejar una falla o un salto intencional

Cuando faltan números de secuencia de cuadros de dispositivo consecutivos, verifique también la reconexión, el reinicio y el ajuste del contador (regresando al comienzo del rango de numeración). Los identificadores de trama generados por el host describen la secuencia recibida por el host; no pueden determinar de forma independiente que el dispositivo no haya perdido fotogramas.

Establecer una reproducción mínima con marcos en bruto.

Registre la cámara, el firmware, el cable, el host, el controlador, el SDK, la resolución, el formato y la velocidad de fotogramas. Comience con un programa que reciba y verifique fotogramas sin formato. Agregue conversión, inferencia, almacenamiento y visualización por separado mientras compara errores y recursos. Registre ejemplos de proveedores por separado de las aplicaciones comerciales en lugar de comparar diferentes modos directamente.

Verificar buffers y propiedad

Defina cuándo los buffers del SDK siguen siendo legibles, cuándo deben devolverse y si las devoluciones de llamada permiten la propiedad a largo plazo. Registre la longitud de la cola y el tiempo de espera. Si se pueden descartar fotogramas antiguos, conserve los motivos y recuentos de descarte. Si es necesario almacenar cada cuadro, diseñe para el rendimiento y la contrapresión. Una cola más grande por sí sola no establece una solución.

Momento y recuperación

Defina fuentes de reloj y distinga los tiempos de exposición, recepción, puesta en cola y finalización. Para la reconexión, especifique la reaplicación de parámetros, el borrado del búfer y el reinicio de la secuencia. Sin la sincronización del dispositivo o una referencia independiente, las marcas de tiempo del host no establecen la sincronización de la exposición ni completan la respuesta de un extremo a otro.

Probar el funcionamiento normal y la recuperación en las condiciones, concurrencia y duración acordadas. Entregue configuración, definiciones de contadores, registros sin procesar y pasos de reproducción. Servicios relacionados: desarrollo de captura de imagen y SDK de dispositivos de visión.