» codelab : http://codelab.fr/accueil » Forum : Processing : http://codelab.fr/processing » pixels[] : Balayage indésirable : http://codelab.fr/5875 Ceci est la version imprimable d'un sujet du forum, pour retourner à la version complète : pixels[] : Balayage indésirable |
jojolaglaise — 2015-07-04 11:42:44 |
Bonjour :-) import processing.video.*; Capture cam; void setup() { size(640, 480); cam = new Capture(this, width, height); cam.start(); } void captureEvent(Capture cam) { cam.read(); } void draw() { cam.loadPixels(); for(int i = 0; i < cam.width * cam.height; i++){ if(brightness(cam.pixels[i]) < 180){ cam.pixels[i] = color(0); } else{ cam.pixels[i] = color(255, 255, 0); } } image(cam, 0, 0); } Quelle est l'astuce pour contourner ce problème? |
Mushussu — 2015-07-04 12:49:21 |
Bonjour, import processing.video.*; Capture cam; void setup() { size(640, 480); cam = new Capture(this, width, height); cam.start(); } void draw() { if (cam.available()) { cam.read(); cam.loadPixels(); for (int i = 0; i < cam.width * cam.height; i++) { if (brightness(cam.pixels[i]) < 180) { cam.pixels[i] = color(0); } else { cam.pixels[i] = color(255, 255, 0); } } cam.updatePixels(); } image(cam, 0, 0); } Si tu souhaites malgré tout utiliser les interruptions : import processing.video.*; Capture cam; PImage imago; void setup() { size(640, 480); cam = new Capture(this, width, height); cam.start(); imago = createImage(width, height, RGB); } void captureEvent(Capture cam) { cam.read(); cam.loadPixels(); for (int i = 0; i < cam.width * cam.height; i++) { if (brightness(cam.pixels[i]) < 180) { imago.pixels[i] = color(0); } else { imago.pixels[i] = color(255, 255, 0); } } imago.updatePixels(); } void draw() { image(imago, 0, 0); } |
jojolaglaise — 2015-07-04 13:51:17 |
Oh! Mille merci! :) Effectivement, je vois mon erreur… Je me être trompé-je misérablement! |