top of page

PiBooth

VI. Module 4 : Les prises de vue.

14/03/2021

     Introduction :

     Ici je veux :


     Récupérer l'information du nombre de vues a prendre puis prendre le nombres de photos nécessaire pour le futur montage.

     Je rajoute aussi la prise d'une photo qui sera uttilisé pour l'affichage sur grand écran. Cette photo ne sera pas redimensionnée.

     Le programme de base.

test.py                                                                                                                                                                                             

# -*- coding: utf-8 -**

# Les librairies  --------------------------------------------------------------------------------------------------------
import picamera
import time
import os

# Constantes
LPhoto_X1    = 2560
HPhoto_X1    = 2048
LPhoto_X3  = 1280
HPhoto_X3  = 1024
LPhoto_X8  = 640
HPhoto_X8  = 512
Nb_images = 8 # Simulation du nombre recuillis pas le module de choix de prise de vue
Img_Tmp = "/home/pi/Desktop/Monmien/Img_Tmp" #Dossier de stockage des images avant traitement



# Capture des images -----------------------------------------------------------------------------------------------------------------

# Prise de vue pour 1 seule image
def Capt_ImgX1(NomImage):
  camera.capture(NomImage+".jpg", resize=(LPhoto_X1, HPhoto_X1))
  camera.capture(NomImage+"_Big.jpg")

# Prise de Vue pour 3 images
def Capt_ImgX3(NomImage):
  camera.capture(NomImage+".jpg", resize=(LPhoto_X3, HPhoto_X3))
  if Nb_images == 3:
       camera.capture(NomImage+"_Big.jpg")

# Prise de Vue pour 8 images
def Capt_ImgX8(NomImage):
  camera.capture(NomImage+".jpg", resize=(LPhoto_X8, HPhoto_X8))
  if Nb_images == 8:
       camera.capture(NomImage+"_Big.jpg")


# Initialisation de la camera --------------------------------------------------------------------------------------------------------
with picamera.PiCamera() as camera:
  os.chdir(Img_Tmp)
  camera.resolution            = (2560, 2048)
  camera.framerate             = 24
  camera.sharpness             = 0
  camera.contrast              = 0
  camera.brightness            = 50
  camera.saturation            = 0
  camera.ISO                   = 0
  camera.video_stabilization   = False
  camera.exposure_compensation = 0
  camera.exposure_mode         = 'auto'
  camera.meter_mode            = 'average'
  camera.awb_mode              = 'auto'
  camera.image_effect          = 'none'
  camera.color_effects         = None
  camera.rotation              = 0
  camera.hflip                 = True
  camera.vflip                 = False
  camera.crop                  = (0.0, 0.0, 0.0, 0.0)

  if Nb_images == 1:
       while Nb_images > 0:
           print ("Image"+str(Nb_images)+".jpg")
           Capt_ImgX1("Image"+str(Nb_images))
           Nb_images -=1
           time.sleep(1)

  if Nb_images == 3:
       while Nb_images > 0:
           print ("Image"+str(Nb_images)+".jpg")
           Capt_ImgX3("Image"+str(Nb_images))
           Nb_images -=1
           time.sleep(1)

  if Nb_images == 8:
       while Nb_images > 0:
           print ("Image"+str(Nb_images)+".jpg")
           Capt_ImgX8("Image"+str(Nb_images))
           Nb_images -=1
           time.sleep(1)

     Alors là pour en faire un module, on ne va plus avoir à faire appel à, seulement le fichier config.ini mais il va y avoir un module appelé dans un autre module.

     Et la question est est ce possible. je fait les essais et je vous dis cela.

     En gros je veux séparer l'initialisation de la camera, dans un fichier à part, si je n'y arrive pas je le laisserait dans le fichier mais je risque de devoir faire des redondances de lignes de code pour que cela fonctionne.

 

     Pour ceux qui ne l'aurais pas remarqué, sous la date en haut j'aai mis les fichiers finaux de cette partie.

bottom of page