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.

Za pokretanje aplikacije:

  • Dvaput kliknite na CMUcam3 Frame Grabber

  • Odaberite ispravan COM priključak iz padajućeg izbornika „Available COM Ports”

  • Kliknite tipku „Connect”

  • Uključite svoj CMUcam3 koji pokreće CMUcam2 Emulation Firmware (ponovno pokrenite ako je već uključen)

  • Trebali biste vidjeti tekst koji se pojavljuje u prozoru „Terminal Console”

  • Pritisnite „Grab Image” za snimanje slike

Evo opisa polja na kartici „Main” sučelja:

  • Dostupni COM priključci

    • Ovo prikazuje popis serijskih priključaka koje Windows prepoznaje

  • Brzina prijenosa (baud)

    • Ovo vam omogućuje promjenu brzine prijenosa ako želite koristiti ovaj program kao terminalski klijent

  • Timeout

    • Ovo postavlja vremensko ograničenje za sve serijske odgovore na koje bi program mogao čekati

      • Ovo se obično ne treba mijenjati

  • Connect

    • Otvara serijsku vezu

  • Disconnect

    • Zatvara serijsku vezu

  • Send

    • Ovaj gumb prenijet će bilo koji tekst koji ste upisali u tekstni okvir smješten lijevo od gumba

    • Tekstni okvir automatski dodaje znak za povratak (return), tako da bi vam samo klik na „Send” trebao dati ACK odgovor od CMUcam2

    • Prema zadanim postavkama fokus je na ulaznom tekstualnom okviru, tako da možete jednostavno tipkati i pritisnuti return za slanje podataka

  • CIF / QCIF

    • Ovi gumbi postavljaju razlučivost slike koja se prikazuje

    • Prema zadanim postavkama CMUcam3 će poslati sliku niske razlučivosti koja je skalirana da ispuni cijeli prozor

  • Grab Image

    • Ovo šalje naredbu „SJ” (Send JPEG) na CMUcam3 i prikazuje rezultat

  • Loop

    • Ovaj potvrdni okvir uzrokuje da klijent automatski pritisne „Grab Frame” svakih „Refresh Interval” milisekundi

    • Ako CMUcam3 ne može proizvesti sliku u navedenom vremenu, program će isteći s pogreškom

      • Ako se to dogodi, povećajte Refresh Interval ili smanjite razlučivost slike

  • Refresh Interval

    • Ovaj parametar postavlja koliko se često šalje naredba „Grab Image” kada je „Loop” označen

  • Stop

    • Ovo zaustavlja hvatanje slika u petlji

Kartica „Settings” omogućuje vam postavljanje nekoliko uobičajenih značajki CMUcam3. Svaki gumb koji pritisnete jednostavno prenosi odgovarajuće CMUcam2 naredbe preko serijskog priključka.

Evo opisa polja na kartici „Setting” sučelja:

  • Niska razlučivost / Visoka razlučivost

    • Ovi gumbi prebacuju između visoke razlučivosti CIF (352x288) ili niske razlučivosti QCIF (176x144)

    • Ovo odgovara serijskim naredbama „HR 1” i „HR 0”

  • RGB / YCrCb

    • Ovo odabire izvorni način piksela kamere kao RGB ili YCrCb

    • Ovo odgovara CMUcam2 naredbama „CR 18 44” ili „CR 18 36”

  • Down Sample

    • Ovo postavlja količinu smanjenja uzorkovanja temeljenu na firmwareu

    • Ovo odgovara „DS X Y” gdje su X i Y vrijednosti postavljene u svakom okviru za odabir

  • Window

    • Ovo postavlja parametre virtualnog prozora za kameru

    • Ovo odgovara CMUcam2 naredbi „VW x0 y0 x1 y1”

  • Kontroler servo motora

    • Ovo vam omogućuje postavljanje položaja servo motora 4 CMUcam3 servo priključka

    • Ovo će uzrokovati pomicanje svih servo motora spojenih na CMUcam3

    • Ovo odgovara CMUcam2 naredbi „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.

Rješavanje problema#

Zašto se kamera zamrzne kada promijenim svojstva dok dohvaćam slike u petlji?

  • Nažalost, CMUcam3 Frame Grabber nije dovoljno pametan da stvarno prati što radite. Dakle, ako vrtite slike u petlji i promijenite razlučivost na nešto veće, tada bi mogao poslati sljedeću naredbu „Grab Frame” prije nego što je slika visoke razlučivosti završila s prijenosom. Nakon što se ovo dogodi nekoliko puta, Frame Grabber se izgubi iz sinkronizacije s kamerom i serijska veza istekne. Obično ako pritisnete „Stop” prije promjene parametara i pobrinete se da postavite „Refresh Interval” na veću vrijednost za slike visoke razlučivosti, tada nećete dobiti pogreške komunikacije ili isteka vremena.

Zašto ne mogu izvoditi petlju s visokorezolucijskim slikama?

  • Ovo je isti problem kao što je opisano u prethodnom pitanju. Ako je „Refresh Interval” premali, tada će kamera zahtijevati slike brže nego što ih može proizvesti.