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.