Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Programmation > Explorer > La virtualisation > Développement sous VmWare > Webcam sous Linux avec VMware

Webcam sous Linux avec VMware

faire fonctionner une caméra Philips avec Vmware

dimanche 27 novembre 2005, par Julien H.

Les étapes décrites dans cet article diffèrent peu d’une utilisation classique d’une webcam Philips sous Linux, car même si deux systèmes d’exploitation partagent les mêmes ports USB, Vmware gère la connexion de la caméra à l’un ou à l’autre.

Se connecter sous Linux

On lance la VM sous Vmware, on attend le boot et on se connecte en root :

login root
password vmrobot

Si vous regardez les modules chargés, seul l’USB est actif, rien n’est encore prévu pour gérer une caméra vidéo

Brancher la webcam

On va d’abord se placer dans le cadre d’un OS Windows. Dans ce cas, les périphériques sont détectés par le système Plug’n’Play, et un driver va être appelé. Par défaut c’est le driver Philips Toucam qui va connecter la webcam à Windows (pratique pour MSN mais pas pour programmer le robot). Mais si la fenêtre Vmware est active, alors le driver Vmware USB prend la main et va connecter la webcam au système d’exploitation guest (notre Linux).

Dès que l’USB est connecté à la machine virtuelle, le driver usb réveille les modules video et pwc. On peut constater cette activité dans les messages /var/log/messages :

Et sans qu’on ait à intervenir, les modules sont chargés, comme le montre le lsmod :

Utilisation de la webcam

On peut alors lancer une capture d’image, et vérifier que la caméra fonctionne bien. Ici l’image obtenue :

Et l’analyse qui en est faite :

Résultat d’une analyse
Notre algorithme analyse la couleur, la position dans l’image et estime la distance de l’objet à la caméra

Voilà, c’est terminé. On dispose désormais d’un environnement de développement de la vision pratique.

Atelier de développement
(c) Julien Holtzer 2004

Vos commentaires

  • Le 5 mars 2017 à 22:03, par Alban En réponse à : Webcam sous Linux avec VMware

    Bonjour !
    Je suis étudiant et je suis à la recherche de codes me permettant de trouver la distance d’un objet pour un projet. Est-il possible de connaitre le code que vous avez utilisé dans votre manipulation ?
    Cordialement
    Alban

    • Le 18 mars 2017 à 13:46, par Eric P. En réponse à : Webcam sous Linux avec VMware

      L’auteur de cet article, un peu ancien maintenant, n’est plus en ligne actuellement, et donc il est impossible de savoir précisément comment il a procédé.
      Ceci étant, vu qu’on ne dispose que d’une image 2D, la seule possibilité est de déduire la distance en comparant la taille de l’image de l’objet et ses dimensions réelles supposées connues. Si la caméra ne générait aucune déformation optique, une simple application du théorème de Thalès permet d’obtenir le résultat.
      Mais cela n’est jamais le cas car les Webcams sont équipées d’un objectif grand angle qui introduit une déformation de l’image. Il faut donc également avoir les caractéristiques optiques intrinsèques de la caméra de manière à en déduire la matrice de transformation qu’il faut appliquer pour compenser la déformation et obtenir une image sur laquelle on puisse appliquer le théorème cité plus haut.
      Cordialement.

    Répondre à ce message

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.