Annonce

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


#1 2016-02-11 16:55:23 Version Gsvideo non valable pour processing 3.01

Atb Bass
membre
Date d'inscription: 2016-02-11
Messages: 11

Version Gsvideo non valable pour processing 3.01



Bonjour à tous,

Je viens de découvrir le processing car je voudrais créer ou utiliser un logiciel vidéo qui pourrait permettre de figer des trainées lumineuses faites en temps réel.

Du lightpainting en temps réel en bref.

Je suis tombé sur un sketch : Peinture de lumière plus un lien pour télécharger des librairies GSVideo, jusque là tout va bien.

En sachant que je ne m'y entend pas du tout en processing, petite parenthèse lol.

Un message apparait me disant : NosuchMethodError: You may be using a library that's incompatible with this version of Processing.

Existe t il une version plus récente de GSVideo ( que je n'arrive pas à trouver sur le net ) ou carrément une librairie autre qui peut remplacer GSVidéo ?

Merci d'avance

Hors ligne

 

#2 2016-02-11 16:56:49 Re : Version Gsvideo non valable pour processing 3.01

Atb Bass
membre
Date d'inscription: 2016-02-11
Messages: 11

Re: Version Gsvideo non valable pour processing 3.01



J'ai joints un fichier dans mon premier écrit que je ne vois pas, je vous envois donc le programme,

/*
*PeintureLum

réaliser des dessins à la lampe de poche en live

cdriko@free.fr

Licence
http://creativecommons.org/licenses/by-sa/2.0/fr/
*/



//import de la librairie GsVideo
import codeanticode.gsvideo.*;

//objet video
GSCapture video;
PImage masque;

color black = color(0);
int numPixels;

int tolerance;

void setup() {
  size(640, 480); // Change size to 320 x 240 if too slow at 640 x 480
  // Uses the default video input, see the reference if this causes an error
  video = new GSCapture(this, width, height);
  video.start(); 
  masque= new PImage(width, height);
   numPixels = video.width * video.height;
  noStroke();
  smooth();
  background(0);
  video.mask(masque);//appliquer un masque à l'image video
  tolerance = 127; // Set the tolerance value
}

void draw() {
  if (video.available()) {
    video.read();
   
    ///creation du masque
    video.loadPixels();
    masque.loadPixels();
   
    float pixelBrightness; // Declare variable to store a pixel's color
    // Turn each pixel in the video frame black or white depending on its brightness
    loadPixels();
    for (int i = 0; i < numPixels; i++) {
      pixelBrightness = brightness(video.pixels[i]);
      if (pixelBrightness > tolerance) { // If the pixel is brighter than the
        masque.pixels[i] = video.pixels[i]; // tolerance value, make it white
      }
      else { // Otherwise,
        masque.pixels[i] = black; // make it black
      }
    }
    updatePixels();
   
      video.mask(masque);
   
    tint(255, 255, 255, 150);
   // blend(video, 0, 0, width, height, 0, 0, width, height, LIGHTEST);
    //blend(video, 0, 0, 33, 100, 67, 0, 33, 100, ADD);
  image(video,0,0);
    // Draw the webcam video onto the screen
  }
}

void mouseClicked() {
 
    background(0);///effacer l'écran
   
 
}

void keyPressed(){



switch(keyCode) {
  case 83: //S ou s
  print("sauvegarde de l'image...");
  saveFrame("data/capt-####.jpg");
   background(0);
   println("OK");
    break;
  case 38: //fleche du haut
  if(tolerance<255)tolerance++;
  println("tolerance="+tolerance);
    break;
   
    case 40://fleche du bas
    if(tolerance>0)tolerance--;
    println("tolerance="+tolerance);
    break;
  default:             // Default executes if the case labels
   println("touche inconnue:"+keyCode);   // don't match the switch parameter
    break;
}




}

Hors ligne

 

#3 2016-02-11 17:53:15 Re : Version Gsvideo non valable pour processing 3.01

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

Re: Version Gsvideo non valable pour processing 3.01



Bonjour,

Depuis quelques lustres, la librairie GSVideo a été intégrée dans Processsing. Donc, tu peux utiliser pratiquement le même code :

import processing.video.*;

Capture video;
PImage masque;

color black = color(0);
int numPixels;
int tolerance;

void setup() {
  size(640, 480);
  video = new Capture(this, width, height);
  video.start();  
  masque= new PImage(width, height);
  numPixels = video.width * video.height;
  noStroke();
  smooth();
  background(0);
  video.mask(masque);
  tolerance = 127; 
}

void draw() {
  if (video.available()) {
    video.read();

    video.loadPixels();
    masque.loadPixels();

    float pixelBrightness;
    loadPixels();
    for (int i = 0; i < numPixels; i++) {
      pixelBrightness = brightness(video.pixels[i]);
      if (pixelBrightness > tolerance) { 
        masque.pixels[i] = video.pixels[i];
      } else {
        masque.pixels[i] = black;
      }
    }
    updatePixels();
    video.mask(masque);
    tint(255, 255, 255, 150); 
    image(video, 0, 0);
  }
}

void mouseClicked() {
  background(0);
}

void keyPressed() {
  switch(keyCode) {
  case 83:
    print("sauvegarde de l'image...");
    saveFrame("data/capt-####.jpg");
    background(0);
    println("OK");
    break;
  case 38:
    if (tolerance<255)tolerance++;
    println("tolerance="+tolerance);
    break;
  case 40:
    if (tolerance>0)tolerance--;
    println("tolerance="+tolerance);
    break;
  default:
    println("touche inconnue:"+keyCode);
    break;
  }
}

Hors ligne

 

#4 2016-02-12 12:07:08 Re : Version Gsvideo non valable pour processing 3.01

Atb Bass
membre
Date d'inscription: 2016-02-11
Messages: 11

Re: Version Gsvideo non valable pour processing 3.01



Et bien merci Mushussu,

Je vais tester ceci de suite.

Comme dit sur mon premier post, je ne comprends absolument rien au Processing, il se peut que je revienne vers vous pour le positionnement de ce que tu m'as envoyé dans le sketch wink

Encore merci de ta réponse

Hors ligne

 

#5 2016-02-12 12:29:15 Re : Version Gsvideo non valable pour processing 3.01

Atb Bass
membre
Date d'inscription: 2016-02-11
Messages: 11

Re: Version Gsvideo non valable pour processing 3.01



Bon, je crois que je suis vraiment nul,

Je n'ai aucune librairie dans mon processing, et lorsque je vais sur Processing.org, je vois une multitude de librairie à télécharger, faut il que je les prenne toutes ?

Encore désolé de mon niveau zéro wink

Hors ligne

 

#6 2016-02-13 09:15:51 Re : Version Gsvideo non valable pour processing 3.01

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

Re: Version Gsvideo non valable pour processing 3.01



As-tu copier coller le bout de code que je t'ai fourni et l'as-tu executer ?
Il n'y a pas besoin de télécharger quoique ce soit.

Hors ligne

 

#7 2016-02-13 15:45:59 Re : Version Gsvideo non valable pour processing 3.01

Atb Bass
membre
Date d'inscription: 2016-02-11
Messages: 11

Re: Version Gsvideo non valable pour processing 3.01



Oui, j'ai bien copier le bout de code que tu m'as donné à la place d'une partie au début puis j'ai essayer ton code tout seul et là Processing me dit :

The package " processing.video" does not exist. You might be missing a library

D'où ma question en fait wink

Hors ligne

 

#8 2016-02-14 02:02:24 Re : Version Gsvideo non valable pour processing 3.01

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

Re: Version Gsvideo non valable pour processing 3.01



Pour charger une librairie, tu peux passer par l'interface de Processing :

Sketch > Importer une librairie... > Ajouter une librairie... > et tu tapes "video" dans le champs de recherche.

Tu choisis alors "Video | GStreamer-based video library for Processing" et tu cliques sur le bouton "install".

Bon courage...


L'Amour au Peuple !

Hors ligne

 

#9 2016-02-16 11:57:10 Re : Version Gsvideo non valable pour processing 3.01

Atb Bass
membre
Date d'inscription: 2016-02-11
Messages: 11

Re: Version Gsvideo non valable pour processing 3.01



Merci Olivier,

Je vais de ce pas tester ça wink

Merci à tous pour votre patience .

Hors ligne

 

#10 2016-02-16 12:07:51 Re : Version Gsvideo non valable pour processing 3.01

Atb Bass
membre
Date d'inscription: 2016-02-11
Messages: 11

Re: Version Gsvideo non valable pour processing 3.01



ça fonctionne de suite bcp mieux merci.

bcp de latence ou plutôt de hachure sur les trainées lumineuses à tout hasard, dans quelle partie du code devrais je modifier quelques choses pour les supprimer ?

Encore un énorme merci à vous

Hors ligne

 

#11 2016-02-16 12:36:42 Re : Version Gsvideo non valable pour processing 3.01

Atb Bass
membre
Date d'inscription: 2016-02-11
Messages: 11

Re: Version Gsvideo non valable pour processing 3.01



J'ai ma réponse, cela vient pas du code mais du matos que j'utilise, du coup ma question serait plutôt quelle partie du code modifier pour utiliser une go pro 3 branchée sur l'ordi ou carrément un apn du genre Canon 650 D ?

Encore merci à vous

Hors ligne

 

#12 2016-02-16 12:51:26 Re : Version Gsvideo non valable pour processing 3.01

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

Re: Version Gsvideo non valable pour processing 3.01



Bonjour,

Tu peux ajouter ce bout de code dans la méthode setup() :

String[] cameras = Capture.list();
  
  if (cameras.length == 0) {
    println("There are no cameras available for capture.");
    exit();
  } else {
    println("Available cameras:");
    for (int i = 0; i < cameras.length; i++) {
      println(i + " : " + cameras[i]);
    }
}

Branche la caméra que tu souhaites utiliser et exécute le programme. Tu devrais voir apparaître dans la console de l'IDE de Processing la liste des caméras disponibles. Si celle que tu souhaite y figure bingo, tu peux initialiser la capture avec

  video = new Capture(this, width, height, cameras[0]);

En remplaçant le 0 par le nombre qui est inscrit de vent le nom de ta caméra.

Hors ligne

 

#13 2016-02-16 13:01:00 Re : Version Gsvideo non valable pour processing 3.01

Atb Bass
membre
Date d'inscription: 2016-02-11
Messages: 11

Re: Version Gsvideo non valable pour processing 3.01



Olala, excellent, merci merci merci.

Y a t il un emplacement à respecter pour ce bout de code ou peut il être placer n'importe où,
je vais déjà faire quelques tests en attendant ta réponse wink

Encore mille merci

Hors ligne

 

#14 2016-02-16 13:26:57 Re : Version Gsvideo non valable pour processing 3.01

Atb Bass
membre
Date d'inscription: 2016-02-11
Messages: 11

Re: Version Gsvideo non valable pour processing 3.01



Pour l'emplacement, j'ai compris ou glisser ce bout de code encore merci, le problème reste que les deux caméras que j'utilise ont besoin d'un logiciel pour être repérées par mon mac du coup processing ne me les propose pas sad

Je vais persévérer ...

Est il possible d'encoder une go pro ou un Canon 650 D ?

ça se rapproche et c'est grace à vous encore merci wink

Hors ligne

 

#15 2016-02-16 15:22:24 Re : Version Gsvideo non valable pour processing 3.01

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

Re: Version Gsvideo non valable pour processing 3.01



Pour la gopro, je ne sais pas q'il existe une API que l'on eut exploiter, mais pour le canon je verrais bien l'utilisation de gphoto2 avec ffmpeg Olivier t'aidera surement plus que moi sur le sujet.

Tu peux regarder ici :
http://gphoto-software.10949.n7.nabble. … d4238.html

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024