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.
Chcete-li spustit aplikaci:
Dvakrát klikněte na CMUcam3 Frame Grabber
Vyberte správný COM port z rozevírací nabídky „Available COM Ports“
Klikněte na tlačítko „Connect“
Zapněte svou CMUcam3 s běžícím emulačním firmwarem CMUcam2 (restartujte, pokud je již zapnutá)
V okně „Terminal Console“ by se měl objevit text
Stiskněte „Grab Image“ pro pořízení snímku
Zde je popis polí na kartě „Main“ rozhraní:
Dostupné COM porty
Toto zobrazuje seznam sériových portů, které Windows rozpoznává
Přenosová rychlost
To vám umožňuje změnit přenosovou rychlost, pokud chcete tento program používat jako terminálového klienta
Časový limit
Toto nastaví časový limit pro jakékoli sériové odpovědi, na které může program čekat
Toto obvykle není třeba měnit
Připojit
Otevře sériové spojení
Odpojit
Uzavře sériové spojení
Odeslat
Toto tlačítko odešle jakýkoli text, který jste zadali do textového pole umístěného vlevo od tlačítka
Textové pole automaticky přidává znak return, takže pouhé kliknutí na „Send“ by vám mělo od CMUcam2 přinést odpověď ACK
Ve výchozím nastavení je fokus na vstupním textovém poli, takže můžete jednoduše psát a stisknutím Enter odeslat data
CIF / QCIF
Tato tlačítka nastavují rozlišení zobrazovaného obrazu
Ve výchozím nastavení CMUcam3 odešle obraz v nízkém rozlišení, který je škálován tak, aby vyplnil celé okno
Zachytit obraz
Toto odešle příkaz „SJ“ (Send JPEG) do CMUcam3 a zobrazí výsledek
Smyčka
Toto zaškrtávací políčko způsobí, že klient automaticky stiskne „Grab Frame“ každých „Refresh Interval“ milisekund
Pokud CMUcam3 nemůže vytvořit obraz ve stanoveném čase, program vyprší časovým limitem s chybou
Pokud k tomu dojde, zvyšte interval obnovování nebo snižte rozlišení obrazu
Interval obnovování
Tento parametr nastavuje, jak často je odesílán příkaz „Grab Image“, když je zaškrtnuto „Loop“
Stop
Toto zastaví pořizování zacyklených obrázků
Karta „Settings“ vám umožňuje nastavit několik běžných funkcí CMUcam3. Každé tlačítko, které stisknete, jednoduše přenáší odpovídající příkazy CMUcam2 přes sériový port.
Zde je popis polí na kartě „Setting“ rozhraní:
Nízké rozlišení / Vysoké rozlišení
Tato tlačítka přepínají mezi vysokým rozlišením CIF (352x288) a nízkým rozlišením QCIF (176x144)
To odpovídá sériovým příkazům „HR 1“ a „HR 0“
RGB / YCrCb
Toto zvolí nativní pixelový režim kamery buď na RGB, nebo YCrCb
To odpovídá příkazům CMUcam2 „CR 18 44“ nebo „CR 18 36“
Podvzorkování
Toto nastaví míru podvzorkování na základě firmwaru
To odpovídá „DS X Y“, kde X a Y jsou hodnoty nastavené v jednotlivých výběrových polích
Okno
Toto nastaví parametry virtuálního okna kamery
To odpovídá příkazu CMUcam2 „VW x0 y0 x1 y1“
Řadič serva
To vám umožňuje nastavit polohu serva 4 servo portů CMUcam3
To způsobí pohyb jakýchkoli serv připojených k CMUcam3
To odpovídá příkazu 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.
Řešení problémů#
Proč kamera zamrzne, když měním vlastnosti během zachytávání obrazů ve smyčce?
Bohužel Frame Grabber CMUcam3 není dostatečně chytrý, aby skutečně sledoval, co děláte. Takže pokud zacyklujete obrázky a změníte rozlišení na něco většího, může odeslat další příkaz „Grab Frame“ dříve, než se dokončí přenos obrázku ve vysokém rozlišení. Poté, co se to několikrát stane, Frame Grabber se dostane mimo synchronizaci s kamerou a sériová komunikace vyprší. Obvykle pokud před změnou parametrů stisknete „Stop“ a ujistíte se, že pro obrázky ve vysokém rozlišení nastavíte „Refresh Interval“ na vyšší hodnotu, nebudete dostávat chyby komunikace nebo vypršení časového limitu.
Proč nemohu smyčkovat s obrazy o vysokém rozlišení?
Toto je stejný problém, jaký popisuje předchozí otázka. Pokud je „Refresh Interval“ příliš malý, kamera bude požadovat obrázky rychleji, než je dokáže vytvořit.