Sfaturi și trucuri#

Mod demonstrativ#

Modul demonstrativ vă permite să demonstrați CMUcam4 fără un procesor principal. În modul demonstrativ, CMUcam4 execută comanda „TW” (Track Window) și apoi acționează două servouri hobby standard către obiectul urmărit, afișând în același timp obiectul urmărit pe un televizor standard. Odată ce CMUcam4 intră în modul demonstrativ, nu va ieși din modul demonstrativ până când nu este resetat. Urmați pașii de mai jos pentru a intra în modul demonstrativ:

  1. Apăsați și mențineți butonul de resetare de pe CMUcam4

  2. Apăsați și mențineți butonul de utilizator de pe CMUcam4

  3. Eliberați butonul de resetare (nu eliberați butonul de utilizator)

  4. Așteptați până când LED-ul auxiliar roșu se aprinde (2 secunde)

  5. Așteptați până când LED-ul auxiliar roșu începe să clipească la 10 Hz și apoi eliberați butonul utilizatorului

    • Televizorul ar trebui să se aprindă (ar trebui să vedeți un ecran de întâmpinare afișat pe televizor) dacă CMUcam4 este conectat la un televizor

  6. CMUcam4 se va adapta acum la condițiile de iluminare pentru următoarele 5 secunde

    • Nu plasați obiectul pe care doriți să îl urmăriți în fața CMUcam4 pentru următoarele 5 secunde

  7. Așteptați până când LED-ul auxiliar roșu se oprește din clipit la 10 Hz

    • CMUcam4 a terminat acum să se adapteze la condițiile de iluminare

    • Pinii servourilor de panoramare și înclinare ar trebui să emită impulsuri de 1500 μs la 50 Hz

  8. Plasați obiectul pe care doriți să îl urmăriți în fața CMUcam4 și apăsați butonul de utilizator

    • Dacă LED-ul auxiliar roșu începe să clipească la 10 Hz, examinați conexiunea modulului camerei OV9665

      • Modulul camerei OV9665 poate fi deteriorat și cel mai probabil trebuie înlocuit

  9. Ar trebui să vedeți acum obiectul urmărit (sau ceva similar) afișat pe televizor, dacă CMUcam4 este conectat la un televizor

    • Servourile de panoramare și înclinare, dacă sunt conectate, vor încerca, de asemenea, să dirijeze camera către obiectul urmărit

  10. Vă rugăm să încercați această procedură cu diferite obiecte în medii diferite pentru a vedea ce funcționează cel mai bine

  11. CMUcam4 rulează acum în modul demonstrativ

Apăsați butonul de resetare pentru a ieși din modul demonstrativ.

Pentru funcționarea neinversată a servoului de panoramare, lungimile de impuls mai mici de 1500 µs trebuie să miște poziția X a modulului camerei la dreapta (din punctul de vedere al modulului camerei), iar lungimile de impuls mai mari de 1500 µs trebuie să miște poziția X a modulului camerei la stânga (din punctul de vedere al modulului camerei).

Pentru funcționarea neinversată a servoului de înclinare, lungimile de impuls mai mici de 1500 µs trebuie să miște poziția Y a modulului camerei în jos (din punctul de vedere al modulului camerei), iar lungimile de impuls mai mari de 1500 µs trebuie să miște poziția Y a modulului camerei în sus (din punctul de vedere al modulului camerei).

Mod de oprire#

Modul de oprire vă permite să opriți CMUcam4 în timp ce este încă conectat la un Arduino. În modul de oprire, CMUcam4 consumă foarte puțină energie și nu împiedică programarea unui Arduino prin blocarea portului serial al Arduino. Modul de oprire este necesar doar dacă CMUcam4 interferează cu procesul de programare al Arduino. Dacă nu, atunci modul de oprire nu este necesar - acesta este de obicei cazul. Odată ce CMUcam4 intră în modul de oprire, nu va ieși din modul de oprire până când nu este resetat. Urmați pașii de mai jos pentru a intra în modul de oprire:

  1. Apăsați și mențineți butonul de resetare de pe CMUcam4

  2. Apăsați și mențineți butonul de utilizator de pe CMUcam4

  3. Eliberați butonul de resetare (nu eliberați butonul de utilizator)

  4. Așteptați până când LED-ul auxiliar roșu se aprinde (2 secunde)

  5. Eliberați butonul de utilizator

  6. CMUcam4 este acum oprit pe termen nedefinit

Apăsați butonul de resetare pentru a ieși din modul de oprire.

Note despre o urmărire mai bună#

Urmărire mai bună cu auto-gain și balans de alb#

Auto-gain este un control intern care ajustează nivelul de luminozitate al imaginii pentru a se potrivi cel mai bine mediului. Încearcă să normalizeze zonele luminoase și întunecate din imagine astfel încât acestea să aproximeze luminozitatea generală a unei imagini ajustate manual. Acest proces iterează pe mai multe cadre pe măsură ce camera își ajustează automat nivelurile de luminozitate. Dacă, de exemplu, se aprinde o lumină și mediul devine mai luminos, camera va încerca să ajusteze luminozitatea pentru a întuneca imaginea de ansamblu.

Balansul de alb, pe de altă parte, încearcă să corecteze amplificările de culoare ale camerei. Lumina ambientală din imaginea dumneavoastră s-ar putea să nu fie alb pur. În acest caz, camera va vedea culorile diferit. Camera începe cu o estimare inițială a cât de multă amplificare să acorde fiecărui canal de culoare. Dacă este activ, balansul de alb va ajusta aceste amplificări cadru cu cadru, astfel încât culoarea medie din imagine să se apropie de o culoare gri. Empiric, s-a constatat că această metodă a „lumii gri” funcționează relativ bine. Problema cu balansul de alb al lumii gri este că, dacă o culoare solidă umple câmpul vizual al camerei, balansul de alb va seta încet amplificările astfel încât culoarea să pară gri și nu culoarea sa reală. Apoi, când culoarea solidă este eliminată, imaginea va avea amplificări de culoare nedorite până când își restabilește media gri.

Când urmăriți culori, ca în modul demo, este posibil să doriți să permiteți rularea auto-gain-ului și a balansului de alb pentru o perioadă scurtă și apoi să le opriți. În timp ce sunt active pentru o perioadă de aproximativ 5 secunde, camera își poate seta amplificarea luminozității și amplificările de culoare la ceea ce consideră potrivit. Apoi, oprindu-le, veți împiedica camera să își schimbe inutil setările din cauza unui obiect ținut aproape de obiectiv, a umbrelor etc. Dacă auto-gain-ul și balansul de alb nu au fost dezactivate și camera și-a schimbat setările pentru valorile RGB sau YCbCr, atunci noile valori măsurate ar putea cădea în afara pragurilor de urmărire a culorilor selectate inițial.

Modulul camerei necesită ca auto-gain să fie activat pentru a utiliza balansul de alb.

Spațiul de culoare YUV (YCbCr)#

YCbCr este o definiție a spațiului de culoare diferită de spațiul RGB mai cunoscut. În YCbCr, datele de iluminare sunt stocate într-un canal separat. Datorită acestei proprietăți, în modul YCbCr camera poate fi mai rezistentă la schimbările de iluminare. Deoarece este un spațiu de culoare diferit, imaginile în YCbCr nu arată ca imaginile RGB standard atunci când sunt mapate direct de un program de descărcare a cadrelor. Canalele RGB se mapează la CrYCb. Deci, în modul YCbCr, valoarea returnată ca parametru roșu este de fapt Cr, parametrul verde este Y, iar parametrul albastru este Cb. Deci, dacă doriți să urmăriți un obiect roșu, trebuie să vă uitați la un cadru descărcat pentru a vedea la ce se mapează culorile acelui obiect în YCbCr. Ar trebui atunci să fie posibil să găsiți limitele Cb și Cr, oferind în același timp o limită Y foarte relaxată, arătând că iluminarea nu este foarte importantă. Când folosiți YCbCr, asigurați-vă că țineți cont de faptul că, în ceea ce privește toate I/O-urile CMUcam4, Roșu se mapează la Cr, Verde la Y și Albastru la Cb.

Observați că canalele RGB se mapează pentru a vă oferi CrYCb, nu YCbCr.

Despre modulul camerei#

De la pornire, camera poate dura până la 5 secunde pentru a se adapta automat la lumină. Schimbări drastice în mediu, cum ar fi luminile care sunt aprinse și stinse, pot induce un timp de reajustare similar. Când utilizați camera în aer liber, din cauza emisiilor IR puternice ale soarelui, chiar și în zilele relativ înnorate, va fi probabil necesar să utilizați fie un filtru IR, fie un filtru de cameră cu densitate neutră pentru a reduce nivelul luminii ambientale.

Funcțiile furnizate de placa camerei sunt menite să ofere utilizatorului o cutie de instrumente de funcții de viziune color. Aplicațiile reale pot varia foarte mult și sunt lăsate la imaginația utilizatorului. Capacitatea de a schimba fereastra vizibilă, de a colecta statistici de culoare și de lumină și de a urmări culori poate fi împletită de procesorul gazdă pentru a crea funcționalitate de nivel superior.