4.20. Zaključak

Prošli ste kroz dijelove slikovnog sustava kamere koji se pojavljuju svaki put kad skripta snimi sličicu:

  • Optika ispred senzora – rupica kao najjednostavniji element koji oblikuje sliku, zatim leće, koje skupljaju daleko više svjetlosti uz istovremeno fokusiranje, s žarišnom duljinom, otvorom blende, dubinskom oštrinom i vidnim poljem kao parametrima koje aplikacija bira. Stvarne leće dolaze s distorzijom, vinjetiranjem i učincima kuta glavne zrake koje senzor i ISP kasnije kompenziraju.

  • Mreža senzora – dvodimenzionalno polje fotodioda koje pretvara fotone u naboj, gdje vrijeme ekspozicije i analogno pojačanje razmjenjuju svjetlinu nasuprot zamućenju uslijed kretanja i šumu. Kotrljajuća i globalna zaslonka određuju kako se reci polja očitavaju, a mali skup kalibracija na čipu – FPN stupaca, razina crne, neispravni pikseli, sjenčanje leće – čisti podatke prije nego što napuste čip. Dva sabirnika povezuju čip s MCU-om: spora upravljačka I2C sabirnica za registre i brza paralelna ili MIPI sabirnica za piksele.

  • Boja i ISP – Bayerovo polje filtera boja daje svakom pikselu jednu od crvene, zelene ili plave; debayering interpolira dva kanala koja nedostaju. Procesor signala slike spaja ostatak cjevovoda – izvlačenje statistike, automatski balans bijele, debayering, korekcija matricom boja, gama, skaliranje, izrezivanje i konačno pakiranje u traženi format piksela.

  • Formati piksela – sirovi Bayer, RGB888, RGB565, YUV422, sivi tonovi, BINARY te komprimirani izlazi JPEG / PNG razmjenjuju veličinu memorije nasuprot vjernosti boja i kompatibilnosti s algoritmima u kasnijim fazama. RGB565 je standardni format za gotovu boju jer se poklapa sa širinom riječi MCU-a i prepolovljuje trošak memorije u odnosu na RGB888.

  • CSI API – pet redaka postavljanja plus petlja snimanja oblik je od kojeg svaka skripta počinje. Bazeni međuspremnika slike (jednostruki, dvostruki, trostruki, video FIFO ili okidani) odlučuju kako aplikacija i kamera dijele sličice; zasebni kanal pretpregleda hrani bilo koji priključeni program za otklanjanje pogrešaka bez natjecanja za međuspremnike aplikacije; postavke senzora obuhvaćaju orijentaciju, ekspoziciju, pojačanje, balans bijele, ograničenje brzine sličica i testni uzorak s prugama boja.

  • Više senzora i bazeni memorije – ploče s dva senzora instanciraju jedan CSI po čipu i pokreću svaki vlastitom brzinom. Ispod toga, bazen međuspremnika slike, područje pretpregleda, MicroPython gomila i manje alokacije brze memorije nalaze se u zasebnim područjima RAM-a, smještene tako da dijelovi kojima treba brzina dobiju brzinu, a dijelovi kojima treba samo veličina dobiju nju umjesto toga.

To je dovoljno da se sličica izvuče iz senzora s ispravnim formatom, veličinom sličice i ekspozicijom za prizor; da se odabere način rada međuspremnika slike koji odgovara vremenu obrade aplikacije; da se izloži pretpregled uživo bilo čemu što je priključeno; te da se Image učita natrag u Python spremna za obradu.

4.20.1. Kasnije korištenje ove reference

Tretirajte poglavlja o slikanju kao referentni materijal, a ne kao štivo za jedno čitanje. Vraćanje radi osvježavanja znanja o načinima rada međuspremnika slike, formatima piksela ili značenju određene postavke senzora upravo je namijenjena upotreba. Referentna stranica csi.CSI navodi svaku metodu na jednom mjestu kad je pitanje samo „kako se opet točno zove ovaj poziv”.

4.20.2. Kamo dalje odavde

Obrada slike prirodna je sljedeća tema. S međuspremnikom u rukama i shvaćenim csi API-jem, ostaje samo što učiniti s pikselima: pragovi, detekcija rubova, pronalaženje mrlja, detekcija linija i oblika, QR kodovi, AprilTagovi, zaključivanje strojnog učenja. Alati se prebacuju na modul image i njegov katalog metoda na objektu Image. Sve iz ovog odjeljka prenosi se dalje; oblik petlje, način rada međuspremnika slike, format piksela – sve je to ono nad čim rade metode obrade slike.