Référence : Fonctions Pyduino
Pyduino Multimedia : initWebcam

Description
- Cette fonction permet l'initialisation de la webcam système, notamment la résolution de l'image. Des définitions jusqu'à 1280x1024 peuvent être supportées, en fonction de la webcam utilisée.
- Note technique : cette fonction active en interne la lecture automatique à intervalle régulier du flux webcam de façon à obtenir un rafraîchissement satisfaisant du buffer interne de la webcam.
Pré-requis
- Cette fonction nécessite l'installation préalable de la librairie OpenCV pour Python. Si cette librairie n'est pas déjà installée sur votre système, l'installer avec la commande :
Matériel nécessaire
- Une webcam USB fonctionnant sous Gnu/Linux doit être connectée sur l'un des ports USB. A titre indicatif, quelques webcams testées :
- Logitech C170, C270,
- Hercules Dualpix Exchange
Tests préalables
- Il est utile de vérifier au préalable le bon fonctionnement de la webcam, ce qui se fait en lançant le logiciel Guvcview à partir du menu graphique Application > Sound et Video
- Pour vérifier l'indice utilisé par le système pour la webcam, utiliser la commande suivante dans un terminal :
- On doit obtenir (ou équivalent) :
- Cet identifiant correspond à l'identifiant utilisé par le système pour la webcam. L'indice qui suit /dev/video peut changer, notamment si on utilise plusieurs webcams. Cet indice pourra être utilisé pour préciser la webcam source avec la fonction captureImage()
Syntaxe
initWebcam(indexWebcam, widthCapture, heigthCapture)
Paramètres
- indexWebcam : optionnel - l'index de la webcam obtenu avec la commande ls /dev/video*. index=0 si non précisé.
- widthCapture : optionnel - la largeur de l'image en pixels. widthCapture=320 si non précisé.
- heightCapture : optionnel - la hauteur de l'image en pixels. heightCapture=240 si non précisé.
- important : la résolution width x height doit être supportée par la webcam. Regarder la liste des définitions disponibles dans Guvcview au besoin ou la documentation de la webcam. Typiquement, les résolution 320x240 et 640x480 sont supportées par toutes les webcams courantes.
Valeur renvoyée
Aucune
Exemple:
Il est possible que quelques messages d'erreur s'affichent lors du lancement de la première capture d'image : ceux-ci sont sans conséquence sur la capture et sont dus à l'initialisation de la webcam par OpenCV.
Code *.yno à copier/coller dans l'IDE Pyduino
Voir ici si vous préférez convertir le code Pyduino en code Python pour l'utiliser avec l'éditeur Geany par exemple.
# exemple pyDuino - par X. HINAULT - www.mon-club-elec.fr
# Juillet 2013 - Tous droits réservés - GPLv3
# test Capture Image
# entete declarative
noLoop=True
#--- setup ---
def setup():
filepathImage=homePath()+dataPath(IMAGE)+"test.jpg"
print filepathImage
# initialisation webcam
initWebcam(0,640,480) # la resolution doit etre supportee par la webcam !
delay(2000) # laisse temps initialisation
# capture image
captureImage(filepathImage) # charge une image dans le buffer a partir webcam
#addTextOnImage(today("/")+"@"+nowtime(":"), 10,height()-30, green) # ajoute texte sur image
addTextOnImage(nowdatetime(), 10,height()-20, blue) # ajoute texte sur image
saveImage(filepathImage) # enregistre l'image
showImage(filepathImage) # affiche l'image
# -- fin setup --
# -- loop --
def loop():
return # si vide
# -- fin loop --
Lien utile
- Cette fonction est basée sur les fonctions de la classe VideoCapture de la librairie OpenCV : http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture notamment les fonctions :
Commentaires utilisateurs
Pouvoir faire interagir aussi simplement la capture d'image avec les entrées / sorties numériques ou analogiques, çà ouvre plein de possibilités intéressantes.
Voir également
- captureImage()
- loadImage()
- showImage()
- closeImage()
- addTextOnImage()
Page d'accueil de la référence Pyduino en français
Corrections, suggestions et nouvelle documentation peuvent être postées à l'adresse suivante : support_at_mon-club-elec_point_fr
Cette page a été réalisée par Xavier HINAULT (2013) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.