13.1.6. Il visualizzatore del frame buffer#

Il visualizzatore del frame buffer mostra ciò che la camera vede – più precisamente, qualunque cosa lo script in esecuzione abbia lasciato per ultimo nel frame buffer della camera. Ogni snapshot() vi inserisce una nuova acquisizione, e anche tutto ciò che lo script disegna sull’immagine successivamente è presente, quindi l’anteprima mostra il frame dopo l’elaborazione dello script, annotazioni incluse. L’IDE interroga la camera per ottenere l’ultimo frame tramite USB e visualizza ciascuno man mano che arriva.

The frame buffer pane showing a live thermal image, its title reading Frame Buffer (JPEG) with the resolution and focus number, the Record and Zoom buttons and the source and streaming-mode selectors in the title bar, and the RGB histogram of the frame below

Il frame buffer che mostra l’output di una camera termica. Il titolo riporta il formato del frame, la risoluzione e il numero di messa a fuoco; l’istogramma sotto traccia il frame.#

L’anteprima ha un costo: comprimere e trasmettere ogni frame richiede tempo alla camera, quindi uno script viene generalmente eseguito più velocemente con l’IDE disconnesso che con l’anteprima attiva. I pulsanti della barra del titolo del pannello gestiscono questo compromesso:

  • Zoom – ridimensiona l’immagine per adattarla al pannello (attivo per impostazione predefinita). Disattivato, l’immagine viene visualizzata con un pixel dello schermo per ogni pixel dell’immagine.

  • Il selettore della sorgente – quale sensore trasmette all’IDE, oppure Disattivato per interrompere del tutto lo streaming dei frame e ottenere le massime prestazioni lato camera. Su una camera con un solo sensore di immagine la scelta è semplicemente Attivo o Disattivato; una camera con più di uno – un sensore principale e un sensore termico o a eventi, per esempio – li elenca per nome, e il frame buffer segue quello che scegli, indipendentemente da quale lo script stia leggendo. Con la sorgente disattivata lo script continua a essere eseguito e l’anteprima si blocca sull’ultimo frame dietro un banner «Frame buffer disattivato» finché non la riattivi. Usalo durante il benchmarking, poiché gli FPS che lo script raggiunge con l’anteprima disattivata sono gli FPS che raggiungerà in modalità autonoma.

  • Modalità JPG / Modalità RAW – se i frame siano compressi in JPEG per il viaggio verso l’IDE o inviati non compressi. La modalità parte da quella preferita dalla camera connessa – JPG per la maggior parte. La modalità JPG è molto più veloce; la modalità RAW mostra i valori esatti dei pixel a scapito del frame rate.

Il titolo del pannello è anche la sua lettura. Una volta che i frame arrivano, riporta Frame Buffer (JPEG) – o il formato dei pixel di uno stream raw – seguito dalla risoluzione dell’immagine visualizzata e dal numero di messa a fuoco descritto con l”istogramma.

13.1.6.1. Selezionare una regione#

Fai clic e trascina sull’immagine per selezionare una regione rettangolare. Finché esiste una selezione, l’istogramma sottostante calcola le sue statistiche a partire dai soli pixel selezionati, e la lettura nel titolo riporta la posizione, la dimensione e il numero di pixel della selezione – il modo più rapido per leggere una tupla ROI per uno script, o per misurare le statistiche di colore di un singolo oggetto invece dell’intera scena. Fai clic senza trascinare per leggere la posizione di un singolo pixel; fai clic fuori dall’immagine per annullare la selezione.

13.1.6.2. Salvare ciò che la camera vede#

Fai clic con il tasto destro sull’immagine per salvare il frame visualizzato in un file immagine sul tuo computer. Il salvataggio rispetta la selezione: fai clic con il tasto destro all’interno di una regione selezionata e viene salvata solo quella regione (la voce di menu indica «Save Image selection to PC»); fai clic con il tasto destro altrove e viene salvato l’intero frame. Ciò che finisce sul disco è il frame mostrato nel momento in cui fai clic con il tasto destro – per catturare un frame esatto da una scena in movimento, ferma prima lo script in modo che l’anteprima si blocchi su di esso.