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.