CMUcam3 Frame Grabber#
The CMUcam3 Frame Grabber is a simple utility that can be used to test your CMUcam3. Its primary purpose is to act as a terminal program similar to HyperTerminal or Minicom. It also allows you to view jpeg images returned from the camera. You need run the CMUcam2 Emulation firmware on the camera to use this program. The Frame Grabber requires that you install .NET version 2.0 or later which can be found on our software page. Unfortunately, the CMUcam3 Frame Grabber only works in Windows. The source can be found in the tools directory (called cc3_image_viewer). For Linux or Mac, please try using the CMUcam2GUI.
Pentru a porni aplicația:
Faceți dublu clic pe CMUcam3 Frame Grabber
Selectați portul COM corect din meniul derulant „Available COM Ports”
Faceți clic pe butonul „Connect”
Porniți CMUcam3 care rulează firmware-ul de emulare CMUcam2 (reporniți dacă este deja pornit)
Ar trebui să vedeți text apărând în fereastra „Terminal Console”
Apăsați „Grab Image” pentru a face o fotografie
Iată o descriere a câmpurilor din fila „Main” a interfeței:
Porturi COM disponibile
Aceasta afișează o listă a porturilor seriale pe care Windows le recunoaște
Rată de baud
Acest lucru vă permite să schimbați rata baud dacă doriți să folosiți acest program ca client de terminal
Timp de expirare
Aceasta setează timpul de expirare pentru orice răspunsuri seriale pe care programul le-ar putea aștepta
De obicei acest lucru nu trebuie schimbat
Conectare
Deschide o conexiune serială
Deconectare
Închide conexiunea serială
Trimitere
Acest buton va transmite orice text pe care l-ați tastat în caseta de text situată în stânga butonului
Caseta de text adaugă automat un caracter de return, deci simpla apăsare a butonului „Send” ar trebui să vă ofere un răspuns ACK de la CMUcam2
În mod implicit, focalizarea este pe caseta de text de intrare, astfel încât puteți doar să tastați și să apăsați return pentru a trimite date
CIF / QCIF
Aceste butoane setează rezoluția imaginii afișate
În mod implicit, CMUcam3 va trimite o imagine de rezoluție joasă care este scalată pentru a umple întreaga fereastră
Capturare imagine
Aceasta trimite comanda „SJ” (Send JPEG) către CMUcam3 și afișează rezultatul
Buclă
Această casetă de bifare face ca clientul să apese automat „Grab Frame” la fiecare „Refresh Interval” milisecunde
Dacă CMUcam3 nu poate produce o imagine în timpul specificat, programul va expira cu o eroare
Dacă se întâmplă acest lucru, măriți intervalul de reîmprospătare sau reduceți rezoluția imaginii
Interval de reîmprospătare
Acest parametru setează cât de des este trimisă comanda „Grab Image” atunci când „Loop” este bifat
Oprire
Aceasta oprește capturarea imaginilor în buclă
Fila „Settings” vă permite să setați câteva funcții comune CMUcam3. Fiecare buton pe care îl apăsați transmite pur și simplu comenzile CMUcam2 corespunzătoare prin portul serial.
Iată o descriere a câmpurilor din fila „Setting” a interfeței:
Rezoluție joasă / Rezoluție înaltă
Aceste butoane comută între rezoluția înaltă CIF (352x288) și rezoluția joasă QCIF (176x144)
Aceasta corespunde comenzilor seriale „HR 1” și „HR 0”
RGB / YCrCb
Aceasta selectează modul nativ de pixel al camerei să fie fie RGB, fie YCrCb
Aceasta corespunde comenzilor CMUcam2 „CR 18 44” sau „CR 18 36”
Subeșantionare
Aceasta setează cantitatea de subeșantionare bazată pe firmware
Aceasta corespunde comenzii „DS X Y” unde X și Y sunt valorile setate în fiecare casetă de selecție
Fereastră
Aceasta setează parametrii ferestrei virtuale pentru cameră
Aceasta corespunde comenzii CMUcam2 „VW x0 y0 x1 y1”
Controler de servo
Acest lucru vă permite să setați poziția servomotorului pentru cele 4 porturi de servo ale CMUcam3
Acest lucru va face ca orice servomotoare conectate la CMUcam3 să se miște
Aceasta corespunde comenzii CMUcam2 „SV”
You can send any CMUcam2 command using the „Send” button and the text input box. For example, sending „GM” (Get Mean) returns the mean color of the image. To stop the streaming, simply click „Send” or press return. This program does not visualize most of the CMUcam2 commands. For visualization try using the CMUcam2GUI java program.
Depanare#
De ce se blochează camera când modific proprietăți în timp ce capturez imagini într-o buclă?
Din păcate, CMUcam3 Frame Grabber nu este suficient de inteligent pentru a ține cu adevărat evidența a ceea ce faceți. Deci, dacă parcurgeți imagini în buclă și schimbați rezoluția la ceva mai mare, atunci este posibil să trimită următoarea comandă „Grab Frame” înainte ca imaginea la rezoluție înaltă să fi terminat de transferat. După ce acest lucru se întâmplă de câteva ori, Frame Grabber-ul se desincronizează cu camera și portul serial expiră. De obicei, dacă apăsați „Stop” înainte de a schimba parametrii și vă asigurați că setați „Refresh Interval” la o valoare mai mare pentru imaginile la rezoluție înaltă, atunci nu veți primi erori de comunicare sau de expirare.
De ce nu pot rula bucla cu imagini de rezoluție înaltă?
Aceasta este aceeași problemă descrisă de întrebarea anterioară. Dacă „Refresh Interval” este prea mic, atunci camera va solicita imagini mai repede decât le poate produce.