13.1.6. De framebuffer-viewer#

De framebuffer-viewer toont wat de camera ziet – preciezer gezegd, wat het draaiende script als laatste in de framebuffer van de camera heeft achtergelaten. Elke snapshot() plaatst daar een verse opname, en alles wat het script daarna op de afbeelding tekent staat er ook in, dus de preview toont het frame na de verwerking door het script, inclusief annotaties. De IDE polt de camera over USB voor het nieuwste frame en toont elk frame zodra het binnenkomt.

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

De framebuffer met de uitvoer van een thermische camera. De titel leest het frameformaat, de resolutie en het scherpstelgetal af; het histogram eronder plot het frame.#

De preview kost iets: het comprimeren en streamen van elk frame neemt cameratijd in beslag, dus een script draait doorgaans sneller met de IDE losgekoppeld dan met de preview live. De knoppen in de titelbalk van het paneel beheren die afweging:

  • Zoom – schaal de afbeelding om in het paneel te passen (standaard ingeschakeld). Uitgeschakeld wordt de afbeelding gerenderd met één schermpixel per afbeeldingspixel.

  • De keuzelijst source – welke sensor naar de IDE streamt, of Off om het streamen van frames volledig te stoppen voor maximale prestaties aan de camerazijde. Op een camera met één beeldsensor is de keuze simpelweg On of Off; een camera met meer dan één – bijvoorbeeld een hoofdsensor en een thermische of eventsensor – somt elke sensor bij naam op, en de framebuffer volgt degene die je kiest, onafhankelijk van welke het script leest. Met de bron uitgeschakeld blijft het script draaien en bevriest de preview op het laatste frame achter een banner “Frame Buffer Off” totdat je deze weer inschakelt. Gebruik dit bij het benchmarken, aangezien de FPS die het script behaalt met de preview uitgeschakeld de FPS is die het standalone zal behalen.

  • JPG Mode / RAW Mode – of frames JPEG-gecomprimeerd worden voor de reis naar de IDE of ongecomprimeerd worden verzonden. De modus begint bij wat de verbonden camera verkiest – JPG voor de meeste. JPG-modus is veel sneller; RAW-modus toont de exacte pixelwaarden ten koste van de framesnelheid.

De titel van het paneel is ook zijn uitlezing. Zodra er frames binnenkomen, luidt deze Frame Buffer (JPEG) – of het pixelformaat van een ruwe stream – gevolgd door de resolutie van de weergegeven afbeelding en het scherpstelgetal dat bij het histogram wordt beschreven.

13.1.6.1. Een gebied selecteren#

Klik en sleep op de afbeelding om een rechthoekig gebied te selecteren. Zolang er een selectie bestaat, berekent het histogram eronder zijn statistieken uitsluitend vanuit de geselecteerde pixels, en de uitlezing in de titel voegt de positie, grootte en het pixelaantal van de selectie toe – de snelste manier om een ROI-tuple voor een script af te lezen, of om de kleurstatistieken van één object te meten in plaats van de hele scène. Klik zonder te slepen om de positie van een enkele pixel af te lezen; klik buiten de afbeelding om de selectie te wissen.

13.1.6.2. Opslaan wat de camera ziet#

Klik met de rechtermuisknop op de afbeelding om het weergegeven frame op te slaan als afbeeldingsbestand op je computer. Het opslaan respecteert de selectie: klik met de rechtermuisknop binnen een geselecteerd gebied en alleen dat gebied wordt opgeslagen (de menu-vermelding luidt “Save Image selection to PC”); klik met de rechtermuisknop elders en het hele frame wordt opgeslagen. Wat op schijf terechtkomt is het frame dat op het moment van rechtsklikken wordt getoond – om één exact frame uit een bewegende scène vast te leggen, stop je eerst het script zodat de preview erop bevriest.