Annonce

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


#1 2014-05-12 13:03:39 Générer du motif à partir d'une webcam

Dembow
membre
Date d'inscription: 2014-05-08
Messages: 20

Générer du motif à partir d'une webcam



Bonjour,

Ayant débuté à bidouiller processing il y a peu sous les conseils avisés de mes professeurs et rencontrons quelques difficultés pour un projet, je m'en remet à votre science pour me donner un petit coup de main big_smile

Enfaite, comme indiquer dans le titre je cherche à générer du motif à partir de ma webcam en répétant l'image obtenue par la webcam avec des effets de miroir, sachant d'avance que mon explication ne serait pas des plus claires par écris je vous ai fait un petit schémas ^^'

http://codelab.fr/up/DSC-0013.JPG

Après avoir tenté de multiple action type rotate(); je suis tombé sur un article de votre forum qui m'a permit d'avancer un peu, à savoir que je suis arrivé à faire une symétrie verticale grâce à ce fragment de code :

for(int i = 0; i < width; i++){
  for(int j = 0; j < height; j++){
    pixels[j*width + width-1 - i] = video.pixels[j*width + i];

Ensuite, je me suis dit qu'il suffirait de remplacer "width" par "height" et les "i" par des "j" etc. dans la dernière ligne de code pour obtenir une symétrie horizontale, hélas ce n'est pas le cas sad

Du coup j'aimerais savoir si c'est possible,
1) Comment réaliser une symétrie horizontale de mon image ?
2) Comment afficher à l'écran à la fois l'image de base et celles ou l'on a appliqué des symétrie (comme dans le schémas)
3) Et, enfin si il est possible d'appliquer une fois tous cela réaliser, un filtre type noir et blanc par exemple sur l'image de base et que cela s'applique en même temps sur toutes les autres "copies" présentes.

Pour l'instant, je suis arrivé uniquement à afficher une image disposant d'une symétrie verticale en utilisant le code suivant :

Merci d'avance pour l'aide que vous m'apporterez smile

Hors ligne

 

#2 2014-05-12 13:39:29 Re : Générer du motif à partir d'une webcam

Olivier
N°4
Lieu: Chalon sur la Saône
Date d'inscription: 2009-04-07
Messages: 1471
Site web

Re: Générer du motif à partir d'une webcam



Bonsjours...

Pour une symétrie horizontale seulement à l'affichage :

http://codelab.fr/3353#p17818

Pour une symétrie horizontale qui modifie l'ordre des pixels (pour une image en 640*480):

for (int i =0; i < 640*480; i++) {        
      cam.loadPixels();  
      camRotate.pixels[(640-1-i%640)+(i/640)*640] = cam.pixels[i];  
      camRotate.updatePixels();  
      }

Bon courage. smile


L'Amour au Peuple !

Hors ligne

 

#3 2014-05-12 14:01:19 Re : Générer du motif à partir d'une webcam

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

Re: Générer du motif à partir d'une webcam



Un truc comme çà quoi :

Hors ligne

 

#4 2014-05-12 14:14:14 Re : Générer du motif à partir d'une webcam

Dembow
membre
Date d'inscription: 2014-05-08
Messages: 20

Re: Générer du motif à partir d'une webcam



Merci à tous les deux !

Mushussu c'est exactement ça, c'est génial big_smile

Je vais essayer de continuer à bidouiller le code aujourd'hui et demain pour essayer de créer une interface permettant d'appliquer différents effets aux cases et intégrer le tout à un logo. J'espère arriver à me débrouiller seul, mais dans le cas contraire je repasserai par là.

Merci beaucoup pour votre aide précieuse !

Hors ligne

 

#5 2014-05-13 20:07:12 Re : Générer du motif à partir d'une webcam

Dembow
membre
Date d'inscription: 2014-05-08
Messages: 20

Re: Générer du motif à partir d'une webcam



Bonsoir, je suis de retour avec quelques petites questions, pour commencer j'aimerai essayer d'ajouter des filtres qui modifierai mes images en appuyant sur une touche,pour cela j'ai insérer les lignes de codes suivantes :

 if (keyPressed){
    video.filter(INVERT);
  }

Mon problème, je suis obligé de rester appuyer sur une touche pour conserver l'effet et j'aimerais qu'il s'applique durant une durée infini une fois que j'appuie sur la touche, mais je sais pas trop comment faire, peux être l'endroit ou j'ai placé ces lignes dans le code ? hmm

Et j'aimerais juste comprendre une autre chose, en règle générale pour afficher la vidéo, j'ai appris à utiliser une fonction du type : image(vidéo,0,0,width,height) , or je voie pas de fonction dans ce genre, du coup j'aimerai savoir qu'est ce qui permet d'afficher les pixels ?

Merci d'avance smile

Hors ligne

 

#6 2014-05-14 07:01:55 Re : Générer du motif à partir d'une webcam

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

Re: Générer du motif à partir d'une webcam



Pour l'effet vidéo, il faut créer une variable globale :

boolean filtre;

Ensuite l'initialiser dans le setup() à false, puis mettre une condition juste après avoir lu la vidéo

if (filtre) {
      video.filter(INVERT);
    }

Et enfin dans la méthode keyPressed() inverser l'état de la variable à chaque pression de touche :

void keyPressed() {
  filtre = !filtre;
}

En fait, le travail est fait directement avec les pixels de la fenêtre.Le tableau pixels[] est le tableau permettant d'agir sur le pixels de la fenêtre et updatePixels() les affiche :
http://processing.org/reference/pixels.html

Hors ligne

 

#7 2014-05-14 07:07:16 Re : Générer du motif à partir d'une webcam

Dembow
membre
Date d'inscription: 2014-05-08
Messages: 20

Re: Générer du motif à partir d'une webcam



Ok très bien, j'essaye ça dans la journée,

Merci beaucoup ! smile

Hors ligne

 

#8 2014-05-14 14:14:25 Re : Générer du motif à partir d'une webcam

Dembow
membre
Date d'inscription: 2014-05-08
Messages: 20

Re: Générer du motif à partir d'une webcam



Bon j'espère que je suis pas trop relou mais j'y arrive pas, j'ai bricolé un truc mais je crois que j'ai un soucis au moment d'initialiser la variable.

Voilà mes bricoles :

Hors ligne

 

#9 2014-05-14 14:32:24 Re : Générer du motif à partir d'une webcam

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

Re: Générer du motif à partir d'une webcam



Tu as bon, seulement il faut mettre la condition juste après le video.read();

  if (video.available()) { 
    video.read();
      if (filtre) {
      video.filter(INVERT);
    }
  }

Hors ligne

 

#10 2014-05-14 14:43:46 Re : Générer du motif à partir d'une webcam

Dembow
membre
Date d'inscription: 2014-05-08
Messages: 20

Re: Générer du motif à partir d'une webcam



GÉNIAL, GÉNIAL, GÉNIAL smile

Je continue en espérant ne plus avoir à vous embêter ^^'

Hors ligne

 

#11 2014-05-15 11:30:09 Re : Générer du motif à partir d'une webcam

Dembow
membre
Date d'inscription: 2014-05-08
Messages: 20

Re: Générer du motif à partir d'une webcam



Bon je crois que j'arrive à mon dernier problème, j'ai envie d'insérer une image avec des transparence qui servira de masque sur mes motifs lorsque j'appuie sur une touche également, mais quand je l'intègre tous simplement avec un image(masque,0,0) je retrouve le même problème qu'avec les filtres à savoir que l'image ne reste pas à l'écran. J'ai donc essayé de bidouiller un truc à nouveau en suivant la même structure que les pour les filtres, mais j'ai un joli message d'erreur qui me dit "cannot convert from PImage to boolean" , ce qui me semble plutôt logique, mais je ne sais pas comment contourner ce souci... hmm

Mon code pour l'instant :

Hors ligne

 

#12 2014-05-15 12:48:02 Re : Générer du motif à partir d'une webcam

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

Re: Générer du motif à partir d'une webcam



Il faut considérer la superposition d'image comme un nouveau filtre. Ensuite tu mixes l'image issue de la webcam avec celle issue de ton fichier :

Hors ligne

 

#13 2014-05-15 20:21:49 Re : Générer du motif à partir d'une webcam

Dembow
membre
Date d'inscription: 2014-05-08
Messages: 20

Re: Générer du motif à partir d'une webcam



Je comprend pas trop comment fonctionne video.blend ça me crée bien un masque mais qui ne suis pas la forme de l'image de base importé hmm

Hors ligne

 

#14 2014-05-15 22:26:09 Re : Générer du motif à partir d'une webcam

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

Re: Générer du motif à partir d'une webcam



J'avais pour mon test pris une image 320 x 200 comme la vidéo.
Essaie ceci :

video.blend(masque1, 0, 0, masque1.width, masque1.height,0, 0, video.width, video.height, BLEND);

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024