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.