13.1.6. Podgląd bufora ramki#

Podgląd bufora ramki pokazuje to, co widzi kamera – a dokładniej to, co działający skrypt pozostawił ostatnio w buforze ramki kamery. Każde wywołanie snapshot() umieszcza tam świeże ujęcie, a wszystko, co skrypt następnie rysuje na obrazie, również tam trafia, więc podgląd pokazuje ramkę po przetworzeniu przez skrypt, wraz z adnotacjami. IDE odpytuje kamerę o najnowszą ramkę przez USB i wyświetla każdą z nich w miarę jej napływania.

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

Bufor ramki pokazujący obraz z kamery termowizyjnej. Tytuł podaje format ramki, rozdzielczość i liczbę ostrości; histogram poniżej wykreśla ramkę.#

Podgląd ma swój koszt: kompresowanie i przesyłanie strumieniowe każdej ramki zajmuje czas kamery, więc skrypt zwykle działa szybciej przy odłączonym IDE niż przy aktywnym podglądzie. Przyciski na pasku tytułu panelu zarządzają tym kompromisem:

  • Zoom – skaluje obraz, aby dopasować go do panelu (domyślnie włączone). Po wyłączeniu obraz renderowany jest w proporcji jeden piksel ekranu na jeden piksel obrazu.

  • Selektor źródła – który czujnik strumieniuje do IDE, albo Wył., aby całkowicie zatrzymać strumieniowanie ramek dla maksymalnej wydajności po stronie kamery. Na kamerze z jednym czujnikiem obrazu wybór to po prostu Wł. lub Wył.; kamera z więcej niż jednym – na przykład czujnikiem głównym i termowizyjnym lub zdarzeniowym – wymienia każdy z nazwy, a bufor ramki podąża za tym, który wybierzesz, niezależnie od tego, z którego czyta skrypt. Przy wyłączonym źródle skrypt działa dalej, a podgląd zamiera na ostatniej ramce za banerem „Frame Buffer Off”, dopóki nie włączysz go ponownie. Używaj tego przy pomiarach wydajności, ponieważ FPS osiągany przez skrypt z wyłączonym podglądem to FPS, który osiągnie on samodzielnie.

  • Tryb JPG / Tryb RAW – czy ramki są kompresowane w JPEG na czas transmisji do IDE, czy wysyłane bez kompresji. Tryb zaczyna od tego, który preferuje podłączona kamera – JPG dla większości. Tryb JPG jest znacznie szybszy; tryb RAW pokazuje dokładne wartości pikseli kosztem liczby klatek na sekundę.

Tytuł panelu jest zarazem jego odczytem. Gdy ramki napływają, brzmi Bufor ramki (JPEG) – lub podaje format pikseli surowego strumienia – a po nim następuje rozdzielczość wyświetlanego obrazu i liczba ostrości opisana przy histogramie.

13.1.6.1. Zaznaczanie obszaru#

Kliknij i przeciągnij na obrazie, aby zaznaczyć prostokątny obszar. Gdy istnieje zaznaczenie, histogram poniżej liczy swoje statystyki wyłącznie z zaznaczonych pikseli, a odczyt w tytule podaje pozycję, rozmiar i liczbę pikseli zaznaczenia – to najszybszy sposób odczytania krotki ROI dla skryptu lub zmierzenia statystyk koloru jednego obiektu zamiast całej sceny. Kliknij bez przeciągania, aby odczytać pozycję pojedynczego piksela; kliknij poza obrazem, aby wyczyścić zaznaczenie.

13.1.6.2. Zapisywanie tego, co widzi kamera#

Kliknij obraz prawym przyciskiem myszy, aby zapisać wyświetlaną ramkę do pliku obrazu na swoim komputerze. Zapis uwzględnia zaznaczenie: kliknij prawym przyciskiem wewnątrz zaznaczonego obszaru, a zapisany zostanie tylko ten obszar (pozycja menu brzmi „Save Image selection to PC”); kliknij prawym przyciskiem w dowolnym innym miejscu, a zapisana zostanie cała ramka. Na dysku ląduje ramka wyświetlana w chwili kliknięcia prawym przyciskiem – aby uchwycić jedną dokładną ramkę z ruchomej sceny, najpierw zatrzymaj skrypt, tak aby podgląd zamarł na niej.