Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2016-04-23 14:09:35 Photomaton processing

VTT85
membre
Date d'inscription: 2016-04-23
Messages: 33

Photomaton processing



Bonjour, donc voici mon problème :

- J'ai branché un bouton poussoir au clic d'une souris relié à l'ordinateur.
- J'ai branché une webcam à mon ordinateur.
- J'ai branché un second écran à l'ordinateur

Mon but est de réaliser un photomaton, en gros une personne appuiera sur le bouton poussoir et ça prendra une photo enregistré dans un dossier jusque la ça va.

Voici le code :

import processing.video.*;
import java.awt.Frame;
long photo;

Capture cam;

void setup() {
  photo = 0;
  fullScreen();
  ellipse(width/2, height/2, height, height);

  String[] cameras = Capture.list();

  if (cameras == null) {
    println("Failed to retrieve the list of available cameras, will try the default...");
    cam = new Capture(this, 1280, 720);
  } if (cameras.length == 0) {
    println("There are no cameras available for capture.");
    exit();
  } else {
    println("Available cameras:");
    printArray(cameras);
  }
}

void draw() {
  if (cam.available() == true) {
    cam.read();
  }
  image(cam, 0, 0, width, height);
}

void mouseClicked(){
  photo ++;
  save("VTT" + photo + ".png");
}

Voici les problèmes rencontrés :

- J'aimerais que lorsqu'il y a un clic sur la souris, la photo soit prise 3 secondes après.
- J'aimerais gérer un affichage des photos qui ont été prises et enregistrés dans le dossier, une sorte de diaporama sur le second écran.

J'espère que c'est clair smile
Merci d'avance à vous !! smile

Hors ligne

 

#2 2016-04-23 18:06:48 Re : Photomaton processing

VTT85
membre
Date d'inscription: 2016-04-23
Messages: 33

Re: Photomaton processing



Personne n'a d'idées comment retarder la prise d'une photo de 3 secondes ? sad

Hors ligne

 

#3 2016-04-23 18:58:45 Re : Photomaton processing

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Photomaton processing



Bonjour,

Tu es bien impatient. C'est samedi et les neurones des contributeurs se reposent après une longue semaine. Néanmoins, voici ce que je te propose :

import processing.video.*;
import java.awt.Frame;
long photo;

Capture cam;
int compteur;

void setup() {
  photo = 0;
  size(640, 480);
  ellipse(width/2, height/2, height, height);

  String[] cameras = Capture.list();
  cam = new Capture(this, 640, 480);

  if (cameras == null) {
    println("Failed to retrieve the list of available cameras, will try the default...");
  }
  cam.start();
  compteur = 0;
  textSize(400);
}

void draw() {
  if (cam.available() == true) {
    cam.read();
    image(cam, 0, 0, width, height);
    if (compteur != 0) {
      if (millis() - compteur >0) {
        photo ++;
        save("VTT" + photo + ".jpg");
        compteur = 0;
      } else {
        fill(255, 0, 0, 40);
        text((compteur - millis()) / 1000 + 1, 200, height - 100);
      }
    }
  }
}

void mouseClicked() {
  compteur = millis() + 3000;
}

Hors ligne

 

#4 2016-04-24 12:19:15 Re : Photomaton processing

VTT85
membre
Date d'inscription: 2016-04-23
Messages: 33

Re: Photomaton processing



Super merci beaucoup pour ton aide ! Ça fonctionne parfaitement ! smile

Maintenant auriez-vous une idee pour créer une deuxieme fenêtre processing en plein écran sur le second écran déporté qui défilerais les photos prises en direct ? S'il vous plaît smile

Hors ligne

 

#5 2016-04-24 12:33:08 Re : Photomaton processing

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Photomaton processing



Regarde par ic :
http://wiki.labomedia.org/index.php/Pro … de_fenêtre

ou utilises la librairie G4P :
http://www.lagers.org.uk/g4p/index.html
et un petit tutoriel :
http://www.lagers.org.uk/g4p/ex-windows/index.html

Bon courage et n'hésite pas a posté ton code fini pour qu'il puisse servir à d'autres personnes.

Hors ligne

 

#6 2016-04-24 22:38:30 Re : Photomaton processing

VTT85
membre
Date d'inscription: 2016-04-23
Messages: 33

Re: Photomaton processing



J'ai réussi à créer une seconde fenêtre, le problème c'est que je ne peux pas mettre en plein écran sur l'écran déporté sad

Hors ligne

 

#7 2016-04-25 00:34:59 Re : Photomaton processing

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Photomaton processing



Quelle méthode as-tu utilisé ?
Peux-tu poster ton code pour que nous puissions t'aider ?

Hors ligne

 

#8 2016-04-25 12:54:10 Re : Photomaton processing

VTT85
membre
Date d'inscription: 2016-04-23
Messages: 33

Re: Photomaton processing



Voici mon code :

import processing.video.*;
import java.awt.Frame;
long photo;

Capture cam;
int compteur;   


void setup() {
  photo = 0;
  PApplet.runSketch(platformNames, new SecondApplet())
  
  fullScreen();
  ellipse(width/2, height/2, height, height);


  String[] cameras = Capture.list();
  cam = new Capture(this, 640, 480);

  if (cameras == null) {
    println("Failed to retrieve the list of available cameras, will try the default...");
  }
  cam.start();
  compteur = 0;
  textSize(400);
}

public class SecondApplet extends PApplet {
 
  public void settings() {
    fullScreen ();
    ellipse(width/2, height/2, height, height);
  }
 
  public void setup() {
    surface.setTitle("Affichage");
  }
 
  public void draw() {
    background(255);
    fill(0);
    ellipse(100, 50, 10, 10);
  }
}

void draw() {
  if (cam.available() == true) {
    cam.read();
    image(cam, 0, 0, width, height);
    if (compteur != 0) {
      if (millis() - compteur >0) {
        photo ++;
        save("VTT" + photo + ".jpg");
        compteur = 0;
      } else {
        fill(255, 0, 0, 40);
        text((compteur - millis()) / 1000 + 1, 200, height - 100);
      }
    }
  }
}

void mouseClicked() {
  compteur = millis() + 3000;
}

Hors ligne

 

#9 2016-04-25 21:10:40 Re : Photomaton processing

VTT85
membre
Date d'inscription: 2016-04-23
Messages: 33

Re: Photomaton processing



S'il vous plaît, je n'arrive pas à faire 2 fullSceeen (), 1 sur chaque écran sad

Hors ligne

 

#10 2016-04-25 21:31:22 Re : Photomaton processing

jojolaglaise
membre
Lieu: Basse Normandie
Date d'inscription: 2014-04-20
Messages: 137
Site web

Re: Photomaton processing



https://processing.org/reference/fullScreen_.html
Sans avoir vérifié si ça marche, tu peux mettre un paramètre dans la fonction fullScreen(); (voir le paramètre display).

Hors ligne

 

#11 2016-04-25 23:01:18 Re : Photomaton processing

VTT85
membre
Date d'inscription: 2016-04-23
Messages: 33

Re: Photomaton processing



J'ai teste et ça ne fonctionne pas...

Hors ligne

 

#12 2016-04-25 23:25:28 Re : Photomaton processing

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Photomaton processing



Est-ce que cela fonctionne :

void settings() {
 fullScreen(2);
}
 
void setup() {
  PApplet.runSketch(platformNames, new SecondApplet());
}
 
void draw() {
  background(0);
  fill(255, 0, 0);
  ellipse(width / 2, height / 2, 100, 100);
}     
 
public class SecondApplet extends PApplet {
 
  public void settings() {
    fullScreen(1);
  }
 
  public void setup() {
    surface.setTitle("Titre de ma seconde fenetre");
  }
 
  public void draw() {
    background(255);
    fill(0, 255, 0);
    ellipse(width / 2, height / 2, 100, 100);
  }
}

Hors ligne

 

#13 2016-04-26 00:16:02 Re : Photomaton processing

VTT85
membre
Date d'inscription: 2016-04-23
Messages: 33

Re: Photomaton processing



Ah si exact la ça fonctionne, alors pourquoi dans mon programme, il y a quelque chose qui empêche de fonctionner correctement...?

Hors ligne

 

#14 2016-04-26 00:21:52 Re : Photomaton processing

VTT85
membre
Date d'inscription: 2016-04-23
Messages: 33

Re: Photomaton processing



J'ai réussi à mettre les deux en fond d'écrans, il suffisait juste de modifier l'ordre des instructions :

import processing.video.*;
import java.awt.Frame;
long photo;

Capture cam;
int compteur;

void settings() {
 fullScreen(1);
}


void setup() {
  photo = 0;
  PApplet.runSketch(platformNames, new SecondApplet());
  
  String[] cameras = Capture.list();
  cam = new Capture(this, 640, 480);

  if (cameras == null) {
    println("Failed to retrieve the list of available cameras, will try the default...");
  }
  cam.start();
  compteur = 0;
  textSize(1800);
}

void draw() {
  if (cam.available() == true) {
    cam.read();
    PImage logo;
    logo = loadImage("logo.png");
    image(cam, 0, 0, width, height);
    image (logo,1145,540);
    if (compteur != 0) {
      if (millis() - compteur >0) {
        photo ++;
        save("VTT" + photo + ".jpg");
        compteur = 0;
      } else {
        fill(255, 0, 0, 150);
        PFont maTypo = loadFont("AcmeFont-255.vlw"); // choix de la typo
        textFont(maTypo, 255);
        text((compteur - millis()) / 1000 + 1, 30, height - 550);
      }
    }
  }
}


public class SecondApplet extends PApplet {

    public void settings() {
    fullScreen(2);
  }
 
  public void setup() {
    surface.setTitle("Affichage");
  }
 
  public void draw() {
    background(255);
    fill(0);
    ellipse(500, 500, 500, 500);
  }
}


void mouseClicked() {
  compteur = millis() + 3000;
}

void loop () {
      size(400,300);
    PImage logo;
    logo = loadImage("logo.png");
    image (logo,20,20);
}

Avez-vous une idée pour créer un diaporama avec des transitions assez funs de mes photos prises avec une variable? smile

Hors ligne

 

#15 2016-04-26 00:48:09 Re : Photomaton processing

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Photomaton processing



Peut-on avoir ta définition de :
transitions assez funs

Car je suppose que nous n'avons pas les mêmes valeurs.

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024