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 :
Voilà, c’est terminé. On dispose désormais d’un environnement de développement de la vision pratique.
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