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.

Pour démarrer l’application :

  • Double-cliquez sur CMUcam3 Frame Grabber

  • Sélectionnez le bon port COM dans le menu déroulant « Available COM Ports »

  • Cliquez sur le bouton « Connect »

  • Allumez votre CMUcam3 exécutant le micrologiciel d’émulation CMUcam2 (redémarrez si elle est déjà allumée)

  • Vous devriez voir du texte apparaître dans la fenêtre « Terminal Console »

  • Appuyez sur « Grab Image » pour prendre une photo

Voici une description des champs de l’onglet « Main » de l’interface :

  • Ports COM disponibles

    • Ceci affiche une liste des ports série que Windows reconnaît

  • Débit en bauds

    • Ceci vous permet de modifier le débit en bauds si vous souhaitez utiliser ce programme comme client de terminal

  • Délai d’expiration

    • Ceci définit le délai d’expiration pour toute réponse série que le programme pourrait attendre

      • Ceci n’a généralement pas besoin d’être modifié

  • Connexion

    • Ouvre une connexion série

  • Déconnexion

    • Ferme la connexion série

  • Envoyer

    • Ce bouton transmet tout texte que vous avez saisi dans la zone de texte située à gauche du bouton

    • La zone de texte ajoute automatiquement un caractère de retour, il suffit donc de cliquer sur « Send » pour obtenir une réponse ACK de la CMUcam2

    • Par défaut, le focus est sur la zone de texte de saisie, vous pouvez donc simplement taper et appuyer sur Entrée pour envoyer les données

  • CIF / QCIF

    • Ces boutons définissent la résolution de l’image affichée

    • Par défaut, la CMUcam3 enverra une image basse résolution qui est mise à l’échelle pour remplir toute la fenêtre

  • Capturer une image

    • Ceci envoie la commande « SJ » (Send JPEG) à la CMUcam3 et affiche le résultat

  • Boucle

    • Cette case à cocher fait que le client appuie automatiquement sur « Grab Frame » toutes les « Refresh Interval » millisecondes

    • Si la CMUcam3 ne parvient pas à produire une image dans le temps spécifié, le programme expirera avec une erreur

      • Si cela se produit, augmentez l’intervalle de rafraîchissement (Refresh Interval) ou diminuez la résolution de l’image

  • Intervalle de rafraîchissement

    • Ce paramètre définit la fréquence à laquelle la commande « Grab Image » est envoyée lorsque « Loop » est coché

  • Arrêter

    • Ceci empêche la capture des images en boucle

L’onglet « Settings » vous permet de régler quelques fonctionnalités courantes de la CMUcam3. Chaque bouton sur lequel vous appuyez transmet simplement les commandes CMUcam2 correspondantes via le port série.

Voici une description des champs de l’onglet « Setting » de l’interface :

  • Basse résolution / Haute résolution

    • Ces boutons permettent de basculer entre la haute résolution CIF (352x288) et la basse résolution QCIF (176x144)

    • Ceci correspond aux commandes série « HR 1 » et « HR 0 »

  • RGB / YCrCb

    • Ceci sélectionne le mode de pixel natif de la caméra pour qu’il soit soit RGB soit YCrCb

    • Ceci correspond aux commandes CMUcam2 « CR 18 44 » ou « CR 18 36 »

  • Sous-échantillonnage

    • Ceci définit la quantité de sous-échantillonnage basée sur le firmware

    • Ceci correspond à « DS X Y » où X et Y sont les valeurs définies dans chaque zone de sélection

  • Fenêtre

    • Ceci définit les paramètres de la fenêtre virtuelle pour la caméra

    • Ceci correspond à la commande CMUcam2 « VW x0 y0 x1 y1 »

  • Contrôleur de servos

    • Ceci vous permet de définir la position du servo des 4 ports servo de la CMUcam3

    • Ceci provoquera le mouvement de tout servo connecté à la CMUcam3

    • Ceci correspond à la commande 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.

Dépannage#

Pourquoi la caméra se fige-t-elle lorsque je modifie des propriétés pendant la capture d’images en boucle ?

  • Malheureusement, le Frame Grabber de la CMUcam3 n’est pas assez intelligent pour vraiment suivre ce que vous faites. Ainsi, si vous bouclez sur des images et que vous changez la résolution pour une valeur plus grande, il peut envoyer la prochaine commande « Grab Frame » avant que l’image haute résolution ait fini d’être transférée. Après que cela se soit produit quelques fois, le Frame Grabber se désynchronise de la caméra et la liaison série expire. En général, si vous appuyez sur « Stop » avant de changer les paramètres et que vous vous assurez de régler l”« Refresh Interval » sur une valeur plus grande pour les images haute résolution, vous n’obtiendrez pas d’erreurs de communication ou de dépassement de délai.

Pourquoi ne puis-je pas boucler avec des images haute résolution ?

  • Il s’agit du même problème que celui décrit par la question précédente. Si le « Refresh Interval » est trop petit, alors la caméra demandera des images plus vite qu’elle ne peut les produire.