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.
Az alkalmazás indításához:
Kattintson duplán a CMUcam3 Frame Grabberre
Válassza ki a helyes COM-portot az „Available COM Ports” legördülő menüből
Kattintson a „Connect” gombra
Kapcsolja be a CMUcam2 emulációs firmware-t futtató CMUcam3-at (indítsa újra, ha már be van kapcsolva)
Szöveget kell látnia megjelenni a „Terminal Console” ablakban
Nyomja meg a „Grab Image” gombot egy kép készítéséhez
Itt van a felület „Main” fülén lévő mezők leírása:
Elérhető COM-portok
Ez megmutatja azoknak a soros portoknak a listáját, amelyeket a Windows felismer
Átviteli sebesség (baud)
Ez lehetővé teszi az átviteli sebesség megváltoztatását, ha ezt a programot terminálklienensként szeretné használni
Időtúllépés
Ez beállítja az időtúllépést bármely soros válaszra, amelyre a program esetleg vár
Ezt általában nem kell megváltoztatni
Connect
Megnyit egy soros kapcsolatot
Disconnect
Bezárja a soros kapcsolatot
Send
Ez a gomb továbbítja a gombtól balra elhelyezkedő szövegdobozba beírt szöveget
A szövegdoboz automatikusan hozzáad egy return karaktert, így egyszerűen a „Send”-re kattintva ACK választ kap a CMUcam2-től
Alapértelmezés szerint a fókusz a beviteli szövegdobozon van, így egyszerűen begépelhet és az enter megnyomásával elküldheti az adatokat
CIF / QCIF
Ezek a gombok állítják be a megjelenített kép felbontását
Alapértelmezés szerint a CMUcam3 egy alacsony felbontású képet küld, amelyet a teljes ablak kitöltéséhez méreteznek
Grab Image
Ez elküldi az „SJ” (Send JPEG) parancsot a CMUcam3-nak, és megjeleníti az eredményt
Loop
Ez a jelölőnégyzet hatására a kliens automatikusan megnyomja a „Grab Frame”-et minden „Refresh Interval” ezredmásodpercben
Ha a CMUcam3 nem tud képet készíteni a megadott időn belül, a program időtúllépéssel, hibával leáll
Ha ez történik, növelje a frissítési időközt, vagy csökkentse a kép felbontását
Frissítési időköz
Ez a paraméter azt állítja be, hogy milyen gyakran küldi el a „Grab Image” parancsot, amikor a „Loop” be van jelölve
Stop
Ez leállítja a ciklikus képek rögzítését
A „Settings” fül lehetővé teszi néhány gyakori CMUcam3 funkció beállítását. Minden megnyomott gomb egyszerűen a megfelelő CMUcam2 parancsokat továbbítja a soros porton keresztül.
Itt van a felület „Setting” fülén lévő mezők leírása:
Alacsony felbontás / Nagy felbontás
Ezek a gombok váltanak a nagy felbontású CIF (352x288) és az alacsony felbontású QCIF (176x144) között
Ez a „HR 1” és „HR 0” soros parancsoknak felel meg
RGB / YCrCb
Ez a kamera natív pixelmódját vagy RGB-re, vagy YCrCb-re állítja
Ez a „CR 18 44” vagy „CR 18 36” CMUcam2 parancsoknak felel meg
Down Sample
Ez beállítja a firmware-alapú alulmintavételezés mértékét
Ez a „DS X Y”-nak felel meg, ahol az X és az Y az egyes kiválasztódobozokban beállított értékek
Window
Ez beállítja a kamera virtuális ablakának paramétereit
Ez a „VW x0 y0 x1 y1” CMUcam2 parancsnak felel meg
Szervóvezérlő
Ez lehetővé teszi a 4 CMUcam3 szervóport szervópozíciójának beállítását
Ennek hatására a CMUcam3-hoz csatlakoztatott szervók mozogni fognak
Ez az „SV” CMUcam2 parancsnak felel meg
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.
Hibaelhárítás#
Miért fagy le a kamera, amikor tulajdonságokat módosítok, miközben ciklusban rögzítek képeket?
Sajnos a CMUcam3 Frame Grabber nem elég okos ahhoz, hogy valóban nyomon kövesse, mit csinál. Tehát ha képeket futtat ciklusban, és nagyobbra változtatja a felbontást, akkor elküldheti a következő „Grab Frame” parancsot, mielőtt a nagy felbontású kép átvitele befejeződött volna. Miután ez néhányszor megtörténik, a Frame Grabber kiesik a szinkronból a kamerával, és a soros időtúllépéssel leáll. Általában, ha a paraméterek megváltoztatása előtt megnyomja a „Stop”-ot, és ügyel arra, hogy a „Refresh Interval”-t nagyobb értékre állítsa a nagy felbontású képekhez, akkor nem fog kommunikációs vagy időtúllépési hibákat kapni.
Miért nem tudok ciklust futtatni nagy felbontású képekkel?
Ez ugyanaz a probléma, mint amit az előző kérdés leírt. Ha a „Refresh Interval” túl kicsi, akkor a kamera gyorsabban fog képeket kérni, mint amilyen gyorsan elő tudja állítani őket.