Outils pour utilisateurs

Outils du site


diy:projets:piegephoto

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
diy:projets:piegephoto [2018/05/28 08:50] – [Piège Photographique] ecaussediy:projets:piegephoto [2018/05/28 08:55] (Version actuelle) – [Prise de la photo] ecausse
Ligne 15: Ligne 15:
 Le début du programme ce fait exactement comme la [[diy:projets:motiondetection|détection de mouvement]]. Le début du programme ce fait exactement comme la [[diy:projets:motiondetection|détection de mouvement]].
    
-Avant la boucle while, on créé un thread //myThread// pour la fonction //takePicture()// qui va nous servir par  +Avant la boucle while, on crée un thread //myThread// pour la fonction //takePicture()// qui va nous servir par  
-la suite prendre la photo.+la suite à prendre la photo.
 Dans le début de la boucle while on exécute un flou gaussien et un seuillage (comme vu dans Motion Detection): Dans le début de la boucle while on exécute un flou gaussien et un seuillage (comme vu dans Motion Detection):
 <code python> <code python>
Ligne 40: Ligne 40:
     thresh = cv2.dilate(thresh, kernel, iterations=2)     thresh = cv2.dilate(thresh, kernel, iterations=2)
 </code> </code>
-Puis lors des recherche de contours de l'image dilaté, on créé une variable //area//, qu'on initialise à 0. +Puis lors des recherches de contours de l'image dilaté, on crée une variable //area//, qu'on initialise à 0. 
-Cela va nous servir par la suite voir si il a un contour dans l'image, et donc du mouvement.+Cela va nous servir par la suite à voir s'il a un contour dans l'image, et donc du mouvement.
  
-Lors du parcours des contours: tout les petits objets sont ignores, et on enregistre l'air du contour pour+Lors du parcours des contours: tout les petits objets sont ignorés, et on enregistre l'aire du contour pour
 la suite. la suite.
  
-Enfin, si il y a une aire dans l'image, et donc un mouvement, et que le  thread n'est pas deja en train de prendre une photo, alors on peut en relancer un autre pour prendre une photo. +Enfin, si il y a une aire dans l'image, et donc un mouvement, et que le  thread n'est pas déjà en train de prendre une photo, alors on peut en relancer un autre pour prendre une photo. 
 <code python> <code python>
     (img,contr,hrchy) = cv2.findContours(thresh.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)     (img,contr,hrchy) = cv2.findContours(thresh.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
Ligne 64: Ligne 64:
  
 ===== Prise de la photo ===== ===== Prise de la photo =====
-On créé un thread pour la prise de la photo alors que le programme principale et encore en train de s’exécuter en parallèle +On crée un thread pour la prise de la photo alors que le programme principale est encore en train de s’exécuter en parallèle 
  
 Le thread //takePicture()// va écrire l'image en cours dans un format spécifique (ici .png) puis on Le thread //takePicture()// va écrire l'image en cours dans un format spécifique (ici .png) puis on
Ligne 70: Ligne 70:
 les n secondes (ici on à choisi toute les 1 seconde). les n secondes (ici on à choisi toute les 1 seconde).
  
-De plus, on créé une variable globale qui s’incrémente à chaque fois que l'on prend une nouvelle photo, +De plus, on crée une variable globale qui s’incrémente à chaque fois que l'on prend une nouvelle photo, 
-Cela permet de ne pas écraser les anciennes photo prise lors de la capture vidéo.+Cela permet de ne pas écraser les anciennes photos prise lors de la capture vidéo.
 <code python> <code python>
 img_counter = 0 img_counter = 0
diy/projets/piegephoto.1527497446.txt.gz · Dernière modification : 2018/05/28 08:50 de ecausse