Un'anteprima video riuscita da sola non è una prova sufficiente di un'acquisizione stabile dell'immagine raw nella modalità operativa prevista. Il software di visualizzazione può utilizzare una risoluzione inferiore, un flusso compresso, fotogrammi saltati o una politica di buffering diversa. Registrare le modalità operative e i limiti di misurazione e mantenerli costanti prima di individuare il problema nel dispositivo, nel trasporto, nel conducente o nella coda dell'applicazione.
Definisce il livello in cui vengono persi i fotogrammi
| Posizione | Campi osservabili | Distinzione da preservare |
|---|---|---|
| Dispositivo e trasporto | Identificatori del frame del dispositivo, stato ed errori di trasferimento | Non generato, non ricevuto e non valido sono eventi diversi |
| Accoglienza dell'ospite | Conteggio ricevuti, lunghezza valida, formato ed errori | Un buffer ricevuto non è necessariamente un'immagine valida |
| Adattatore e coda | Motivi di accodamento, rimozione dalla coda, attesa, occupazione e scarto | Il campionamento intenzionale e la perdita involontaria necessitano di contatori separati |
| Elaborazione e output | Inizio, completamento, timeout e identificatori di risultato | Un risultato mancante potrebbe riflettere un errore o un salto intenzionale |
Quando mancano i numeri di sequenza dei frame consecutivi del dispositivo, controllare anche la riconnessione, il ripristino e il wraparound del contatore (ritorno all'inizio dell'intervallo di numerazione). Gli identificatori di frame generati dall'host descrivono la sequenza ricevuta dall'host; non possono stabilire in modo indipendente che il dispositivo non abbia perso frame.
Stabilisci una riproduzione minima con fotogrammi grezzi
Registra fotocamera, firmware, cavo, host, driver, SDK, risoluzione, formato e frequenza fotogrammi. Inizia con un programma che riceve e controlla i frame grezzi. Aggiungi conversione, inferenza, archiviazione e visualizzazione separatamente confrontando errori e risorse. Registra gli esempi dei fornitori separatamente dalle applicazioni aziendali anziché confrontare direttamente le diverse modalità.
Controlla buffer e proprietà
Definisci quando i buffer SDK rimangono leggibili, quando devono essere restituiti e se i callback consentono la proprietà a lungo termine. Registra la lunghezza della coda e il tempo di attesa. Se i vecchi frame possono essere scartati, preserva le ragioni e i conteggi dello scarto. Se ogni telaio deve essere immagazzinato, progettare in base alla produttività e alla contropressione. Una coda più grande da sola non stabilisce una soluzione.
Tempi e recupero
Definire le sorgenti dell'orologio e distinguere i tempi di esposizione, ricezione, accodamento e completamento. Per la riconnessione, specificare la riapplicazione dei parametri, la cancellazione del buffer e il riavvio della sequenza. Senza la temporizzazione del dispositivo o un riferimento indipendente, i timestamp dell'host non stabiliscono la sincronizzazione dell'esposizione o la risposta end-to-end completa.
Testare il normale funzionamento e il ripristino in condizioni, concorrenza e durata concordate. Fornisci configurazione, definizioni dei contatori, registri grezzi e passaggi di riproduzione. Servizi correlati: sviluppo dell'acquisizione di immagini E SDK per dispositivi di visione.