![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/boje-sve_ekran.png)
21 pro Prepoznavanje boja
Jedan od načina rada HuskyLens kamere je i prepoznavanje boja (Color recognition). Kad je na kameri odabrana ovaj način rada, kamera može naučiti i prepoznati određenu boju.
Na prepoznavanje boja utječe ambijentalno svjetlo. Kamera može ponekad pogrešno prepoznati slične boje. Pokušajte stoga ambijentalno svjetlo držati nepromijenjenim. Dodatno, u svojim projektima preporučamo da koristite različite boje, a ne nijanse iste boje.
Zadana postavka u ovom načinu rada je učenje samo jedne boje, no to se u njezinim postavkama može promijeniti uključenjem opcije Learn Multiple.
Odabir načina rada Prepoznavanje boja
- Uključite kameru (USB kabelom ili preko robota).
- Pomicanjem funkcijskog tipkala u izborniku pronađite način rada prepoznavanja boja.
- Dugim pritiskom na tipkalo uđite u njezin izbornik i pomicanjem tipkala pronađite opciju Learn Multiple. Kratkim je pritiskom odaberite.
- Uključite opciju (kvadratić je s desne strane klizača kako je prikazano na slici) i ponovnim kratkim pritiskom na funkcijsko tipkalo završite ovaj korak. Vratite se do Save&Return i spremite promjenu. Time ste omogućili kameri da nauči više boja.
Učenje i prepoznavanje boja
Ovdje su izdvojena tri pravokutnika za korištenje u primjerima programa koji slijede. Možete koristiti i izrezane kartončiće različitih boja i oblika koje pripremite sami.
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/boje.png)
Slijedite korake za učenje boja.
1. korak
Postavite kameru u način rada za učenje boja.
Usmjerite znak plus koji se nalazi na sredini zaslona prema crvenom pravokutniku. Pojavit će se bijeli okvir. Namjestite udaljenost i kut kamere od crvenog pravokutnika tako da bijeli okvir obuhvati obojeni dio.
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/boja-crvena_1a.png)
2. korak
Dok je znak plus usmjeren na crveni pravokutnik, pritisnite i držite pritisnuto tipkalo za učenje. Na zaslonu će se prikazati žuti okvir. Sada prilagođavajte kut i udaljenost kamere od obojenog pravokutnika kako biste omogućili učenje boje na različitim udaljenostima i pod različitim kutovima. Otpustite tipkalo za učenje. Prikazat će se poruka Click again to continue! Click other button to finish (Pritisnite ponovno za nastavak! Pritisnite drugi gumb za završetak).
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/boja-crvena_1b.png)
3. korak
Prije kraja odbrojavanja kratko pritisnite tipkalo za učenje kako biste nastavili s učenjem boja. Dok je kamera usmjerena prema crvenom pravokutniku, bit će prikazan žuti okvir s oznakom Color:D1.
Svaki put kada kamera ponovno naiđe na istu ili sličnu boju, na zaslonu će se prikazati žuto obojeni okvir s brojčano oznakom 1 čija će veličina biti jednaka veličini prepoznatog polja boje.
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/boja-crvena_1c.png)
4. korak
Usmjerite sada kameru prema zelenom pravokutniku i ponovite postupak učenja boje.
Nakon toga ponovite sve i s posljednjim, žutim, pravokutnikom, ali na kraju dozvolite da odbrojavanje završi ili pritisnite na funkcijsko tipkalo, kako biste završili s učenjem boja.
Svaka naučena boja će dobiti svoju brojčanu oznaku (ID). ID broj je povezan s redoslijedom naučenih boja. Ako je kamera naučila boje zadanim redoslijedom (crvena, zelena pa žuta), prilikom prepoznavanja crvene boje na zaslonu će pisati Color: ID1, prilikom prepoznavanja zelene Color: ID2, a žute Color:ID3.
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/boje-sve_ekran.png)
Izradite program kojim će se na zaslonu micro:bita ispisati brojčanu oznaku naučenih boja.
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/02-Prepoznavanje-boje-1.png)
Nakon naredbe HuskyLens initialize pin until success za inicijalizaciju kamere u programu, nalazi se naredba HuskyLens switch algorithm to za način rada kamere i u njoj je parametar postavljen na prepoznavanje boje (Color recognition).
Slijedi forever petlja u kojoj se nalazi naredba HuskyLens request data once and save into the result za opažanje i pohranu podatka koji kamera detektira (u ovom slučaju boje).
Naredbom set ID to varijabli ID (koju je potrebno prethodno kreirati u kategoriji Variables) dodjeljuje se vrijednost brojčane oznake one boje koja se nalazi u središtu zaslona kamere.
Na kraju se nalazi naredba display ID za ispis vrijednosti varijable ID na zaslonu micro:bita.
Prebacite program na micro:bit opcijom Upload koja se nalazi u prostoru za upravljanje i provjeru koda. Pričekajte da se izvrši prebacivanje programa.
Smjestite micro:bit na robot i uključite robot te testirajte program.
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/02-Prepoznavanje-boje-1.png)
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/02-Prepoznavanje-boje-1.png)
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/02-Prepoznavanje-boje-1.png)
Nakon naredbe HuskyLens initialize pin until success za inicijalizaciju kamere u programu, nalazi se naredba HuskyLens switch algorithm to za način rada kamere i u njoj je parametar postavljen na prepoznavanje boje (Color recognition).
Slijedi forever petlja u kojoj se nalazi naredba HuskyLens request data once and save into the result za opažanje i pohranu podatka koji kamera detektira (u ovom slučaju boje).
Naredbom set ID to varijabli ID (koju je potrebno prethodno kreirati u kategoriji Variables) dodjeljuje se vrijednost brojčane oznake one boje koja se nalazi u središtu zaslona kamere.
Na kraju se nalazi naredba display ID za ispis vrijednosti varijable ID na zaslonu micro:bita.
Prebacite program na micro:bit opcijom Upload koja se nalazi u prostoru za upravljanje i provjeru koda. Pričekajte da se izvrši prebacivanje programa.
Smjestite micro:bit na robot i uključite robot te testirajte program.
Prilikom izvršavanja programa uočit ćete da se na micro:bitu ispisuje -1 kada kamera ne detektira naučenu boju, stoga modificirajte program da se brojčana oznaka boje ispisuje samo onda kada kamera detektira boju, odnosno kad se u sučelju zaslona kamere prikaže okvir.
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/02-Prepoznavanje-boje-1-modificirani.png)
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/02-Prepoznavanje-boje-1-modificirani.png)
U odnosu na prethodni program dodana je jedna if then naredba kojom se u if dijelu provjerava detektira li kamera boju, a u then dijelu su smještene naredbe za dodjeljivanje vrijednosti varijabli ID i njen ispis.
Kad prebacite ovaj program na micro:bit, ispisivat će se samo brojčane oznake naučenih boja.
Izradite program kojim će micro:Maqueen robot uključiti svoje RGB svjetleće diode bojom koju detektira kamerom. Kad robot “ne vidi” naučenu boju, tada neka se njegove RGB svjetleće diode isključe.
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/03-Prepoznavanje-boje-2.png)
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/03-Prepoznavanje-boje-2.png)
U ovom primjeru, u forever petlji, korištena je if then else naredba kojom se najprije provjerava vidi li kamera naučenu boju. Ako vidi, robot uključuje RGB svjetleće diode, inače ih isključuje. Uključenje dioda i njihova boja provjeravaju se preko brojčane oznake (ID-a) naučene boje. Ta je vrijednost pohranjena u varijabli ID naredbom set ID to u koju je ugnježđena naredba HuskyLens get ID of frame closest to the center of screen from the result. Ako je brojčana oznaka uočene boje jednaka 1 (znate da je to crvena jer je kamera najprije nju naučila) tada robot uključuje crvena svjetla. Ako je brojčana oznaka jednaka 2, uključuje zelena svjetla, a ako je jednaka 3, žuta svjetla.
Sadržaj materijala isključiva je odgovornost Instituta za razvoj i inovativnost mladih.
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/UI-u-STEM-edukaciji-elem-vidljivosti-za-web_2.png)
![](https://izradi.croatianmakers.hr/wp-content/uploads/2022/12/UI-u-STEM-edukaciji-elem-vidljivosti-za-web_2.png)
Projekt je 85% financiran iz EGP financijskog mehanizma, a 15% financiran iz državnog proračuna.