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.
Käynnistääksesi sovelluksen:
Kaksoisnapsauta CMUcam3 Frame Grabberia
Valitse oikea COM-portti ”Available COM Ports” -pudotusvalikosta
Napsauta ”Connect”-painiketta
Kytke CMUcam2-emulointilaiteohjelmistoa ajava CMUcam3 päälle (käynnistä uudelleen, jos se on jo päällä)
Sinun pitäisi nähdä tekstiä ilmestyvän ”Terminal Console” -ikkunaan
Paina ”Grab Image” ottaaksesi kuvan
Tässä on kuvaus käyttöliittymän ”Main”-välilehden kentistä:
Käytettävissä olevat COM-portit
Tämä näyttää luettelon sarjaporteista, jotka Windows tunnistaa
Siirtonopeus (baud)
Tämä antaa sinun muuttaa baudinopeutta, jos haluat käyttää tätä ohjelmaa pääteasiakkaana
Timeout
Tämä asettaa aikakatkaisun kaikille sarjavastauksille, joita ohjelma saattaa odottaa
Tätä ei yleensä tarvitse muuttaa
Connect
Avaa sarjayhteyden
Disconnect
Sulkee sarjayhteyden
Send
Tämä painike lähettää minkä tahansa tekstin, jonka kirjoitit painikkeen vasemmalla puolella olevaan tekstiruutuun
Tekstiruutu lisää automaattisesti rivinvaihtomerkin, joten pelkkä ”Send”-painikkeen napsauttaminen antaa sinulle ACK-vastauksen CMUcam2:lta
Oletuksena kohdistus on syöttötekstikentässä, joten voit vain kirjoittaa ja painaa rivinvaihtoa lähettääksesi dataa
CIF / QCIF
Nämä painikkeet asettavat näytettävän kuvan resoluution
Oletuksena CMUcam3 lähettää matalaresoluutioisen kuvan, joka skaalataan täyttämään koko ikkuna
Grab Image
Tämä lähettää ”SJ” (Send JPEG) -komennon CMUcam3:lle ja näyttää tuloksen
Loop
Tämä valintaruutu saa asiakkaan automaattisesti painamaan ”Grab Frame” joka ”Refresh Interval” -millisekunti
Jos CMUcam3 ei pysty tuottamaan kuvaa määritetyssä ajassa, ohjelma aikakatkaistaan virheellä
Jos näin tapahtuu, kasvata Refresh Interval -arvoa tai pienennä kuvan resoluutiota
Refresh Interval
Tämä parametri asettaa, kuinka usein ”Grab Image” -komento lähetetään, kun ”Loop” on valittuna
Stop
Tämä lopettaa silmukoitujen kuvien kaappaamisen
”Settings”-välilehden avulla voit asettaa muutamia yleisiä CMUcam3-ominaisuuksia. Jokainen painamasi painike yksinkertaisesti lähettää vastaavat CMUcam2-komennot sarjaportin kautta.
Tässä on kuvaus käyttöliittymän ”Setting”-välilehden kentistä:
Low Resolution / High Resolution
Nämä painikkeet vaihtavat korkearesoluutioisen CIF:n (352x288) ja matalaresoluutioisen QCIF:n (176x144) välillä
Tämä vastaa sarjakomentoja ”HR 1” ja ”HR 0”
RGB / YCrCb
Tämä valitsee kameran natiivin pikselitilan olemaan joko RGB tai YCrCb
Tämä vastaa CMUcam2-komentoja ”CR 18 44” tai ”CR 18 36”
Down Sample
Tämä asettaa laiteohjelmistoon perustuvan alinäytteistysmäärän
Tämä vastaa komentoa ”DS X Y”, missä X ja Y ovat kussakin valintaruudussa asetetut arvot
Window
Tämä asettaa kameran virtuaali-ikkunan parametrit
Tämä vastaa CMUcam2-komentoa ”VW x0 y0 x1 y1”
Servo Controller
Tämä antaa sinun asettaa CMUcam3:n 4 servoportin servoaseman
Tämä saa kaikki CMUcam3:een liitetyt servot liikkumaan
Tämä vastaa CMUcam2-komentoa ”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.
Vianetsintä#
Miksi kamera jumiutuu, kun muutan ominaisuuksia kaapatessani kuvia silmukassa?
Valitettavasti CMUcam3 Frame Grabber ei ole tarpeeksi älykäs pitääkseen todella kirjaa siitä, mitä teet. Joten jos silmukoit kuvia ja muutat resoluution johonkin suurempaan, se saattaa lähettää seuraavan ”Grab Frame” -komennon ennen kuin korkearesoluutioinen kuva oli siirtynyt loppuun. Kun tämä tapahtuu muutaman kerran, Frame Grabber menee epäsynkroniin kameran kanssa ja sarjaviestintä aikakatkaistaan. Tyypillisesti jos painat ”Stop” ennen parametrien muuttamista ja varmistat, että asetat ”Refresh Interval” -arvon suuremmaksi korkearesoluutioisille kuville, et saa viestintä- tai aikakatkaisuvirheitä.
Miksi en voi käyttää silmukkaa korkearesoluutioisilla kuvilla?
Tämä on sama ongelma kuin edellisessä kysymyksessä kuvattiin. Jos ”Refresh Interval” on liian pieni, kamera pyytää kuvia nopeammin kuin se pystyy tuottamaan niitä.