4.20. Podsumowanie¶
Przeszedles przez czesci stosu obrazowania kamery, ktore pojawiaja sie za kazdym razem, gdy skrypt przechwytuje ramke:
Optyka przed sensorem – otworek (pinhole) jako najprostszy element tworzacy obraz, a nastepnie obiektywy, ktore zbieraja znacznie wiecej swiatla, jednoczesnie nadal ogniskujac, gdzie ogniskowa, przyslona, glebia ostrosci i pole widzenia sa pokretlami, sposrod ktorych wybiera aplikacja. Rzeczywiste obiektywy maja znieksztalcenia, winietowanie i efekty kata promienia glownego (chief-ray-angle), ktore sensor i ISP pozniej kompensuja.
Siatka sensora – dwuwymiarowa matryca fotodiod, ktora zamienia fotony w ladunek, gdzie czas ekspozycji i wzmocnienie analogowe stanowia kompromis miedzy jasnoscia a rozmyciem ruchu i szumem. Migawka kroczaca i globalna okreslaja sposob odczytu wierszy matrycy, a niewielki zestaw kalibracji na chipie – FPN kolumn, poziom czerni, piksele wadliwe, cieniowanie obiektywu – czysci dane, zanim opuszcza one chip. Dwie magistrale lacza chip z MCU: wolna magistrala sterujaca I2C dla rejestrow oraz szybka magistrala rownolegla lub MIPI dla pikseli.
Kolor i ISP – matryca filtrow koloru Bayera nadaje kazdemu pikselowi jeden z kolorow: czerwony, zielony lub niebieski; debayering interpoluje dwa brakujace kanaly. Procesor sygnalu obrazu (ISP) skleja reszte potoku – ekstrakcje statystyk, automatyczny balans bieli, debayering, korekcje macierza kolorow, gamma, skalowanie, kadrowanie i koncowe upakowanie do zadanego formatu pikseli.
Formaty pikseli – surowy Bayer, RGB888, RGB565, YUV422, skala szarosci, BINARY oraz skompresowane formaty wyjsciowe JPEG / PNG stanowia kompromis miedzy rozmiarem w pamieci a wiernoscia koloru i zgodnoscia z dalszymi algorytmami. RGB565 jest domyslnym formatem dla gotowego koloru, poniewaz pasuje do szerokosci slowa MCU i zmniejsza o polowe koszt pamieci wzgledem RGB888.
API CSI – piec linii konfiguracji plus petla zrzutu obrazu to ksztalt, od ktorego zaczyna sie kazdy skrypt. Pule bufora ramki (pojedyncza, podwojna, potrojna, FIFO wideo lub wyzwalana) decyduja o tym, jak aplikacja i kamera wspoldziela ramki; osobny kanal podgladu zasila dowolny dolaczony program debugujacy bez konkurowania o bufory aplikacji; pokretla sensora obejmuja orientacje, ekspozycje, wzmocnienie, balans bieli, ograniczenie liczby klatek na sekunde oraz wzorzec testowy z paskami koloru.
Wiele sensorow i pule pamieci – plytki z dwoma sensorami tworza po jednej instancji
CSIna chip i uruchamiaja kazdy z wlasna predkoscia. Pod spodem pula bufora ramki, obszar podgladu, sterta MicroPython oraz mniejsze alokacje szybkiej pamieci znajduja sie w odrebnych obszarach RAM, rozmieszczonych tak, aby czesci, ktore potrzebuja szybkosci, ja otrzymywaly, a czesci, ktore potrzebuja tylko rozmiaru, dostawaly w zamian wlasnie to.
To wystarczy, aby wyciagnac ramke z sensora we wlasciwym formacie, rozmiarze ramki i z ekspozycja odpowiednia dla sceny; wybrac tryb bufora ramki dopasowany do czasu przetwarzania aplikacji; udostepnic podglad na zywo wszystkiemu, co jest dolaczone; oraz odczytac Image z powrotem do Pythona gotowy do dalszych operacji.
4.20.1. Pozniejsze korzystanie z tego materialu referencyjnego¶
Traktuj rozdzialy o obrazowaniu jak material referencyjny, a nie lekture do jednorazowego przejscia. Powrot, aby odswiezyc wiedze o trybach bufora ramki, formatach pikseli czy znaczeniu danego pokretla sensora, jest zamierzonym sposobem korzystania. Strona referencyjna csi.CSI wymienia kazda metode w jednym miejscu, gdy pytanie brzmi po prostu „jak dokladnie nazywa sie to wywolanie”.
4.20.2. Dokad dalej¶
Przetwarzanie obrazu to naturalny kolejny temat. Majac bufor w reku i rozumiejac API csi, pozostaje to, co zrobic z pikselami: progi, wykrywanie krawedzi, wyszukiwanie plam (blob), wykrywanie linii i ksztaltow, kody QR, AprilTagi, wnioskowanie uczenia maszynowego. Zestaw narzedzi przesuwa sie do modulu image i jego katalogu metod na obiekcie Image. Wszystko z tej sekcji przenosi sie dalej; ksztalt petli, tryb bufora ramki, format pikseli – to wszystko jest tym, na czym dzialaja metody przetwarzania obrazu.