Hi boys! I'm looking for the equivalent to cam.crop in processing 3
because i have a error:
import pSmile.*;
import processing.serial.*;
import processing.video.*;
//import pSmile.PSmile;
//import cc.arduino.*;
//Arduino Paco;
Capture cam;
////Capture cam2;
PImage uno;
PImage dos;
PImage img;
PImage circulo;
final int anchoCam = 1024;
final int altoCam = 768;
final int anchoLienzo = 1024;
final int altoLienzo = 768;
final int anchoImagen = anchoLienzo/2;
final int altoImagen =altoLienzo;
final int anchoDelta = (anchoCam-anchoImagen)/2;
final int altoDelta = (altoCam-altoImagen)/2;
//final int tiempoMinimo = 3; //Tiempo de espera entre una foto y otra (segundos)
//final int tiempoEspera = 0; //Tiempo desde que tapa el sensor hasta que hace la foto (segundos)
boolean sonriendo = true;
boolean esperandoUno = true;
boolean esperandoDos = true;
PSmile smile;
float res;
//int tiempoUno, tiempoDos, tiempoLedUno, tiempoLedDos;
final int luz = 50; //Cambiar el número dependiendo de la luz que haya.
int foto = 25;
void setup() {
// Paco = new Arduino (this, Arduino.list()[0], 9600);
// Paco.pinMode (5, Arduino.OUTPUT); //Puerto del LED de la izquierda
// Paco.pinMode (6, Arduino.OUTPUT); //Puerto del LED de la derecha
size (anchoLienzo, altoLienzo);
cam = new Capture(this, anchoCam, altoCam, 30);
//// cam2 = new Capture(this, anchoCam, altoCam, 30);
cam.crop(anchoDelta, altoDelta, anchoImagen, altoImagen);
//// cam2.crop(anchoDelta, altoDelta, anchoImagen, altoImagen);
smile = new PSmile(this, anchoImagen, altoImagen);
//println (Capture.list());
cam.read();
uno = cam.get();
//// cam2.read();
//// dos = cam2.get();
circulo = loadImage("circulo.jpg");
res = 0.0;
}
PImage updateImg(Capture cam, PImage lado) {
cam.read();
lado = cam.get();
res = smile.getSmile(uno);
sonriendo = res > 0;
println(res);
if (sonriendo) {
img = loadImage(int(random(1, 4)) + ".jpg"); //Aquí es donde habría que cambiar 0 y 25 por otros números
}
else {
img = loadImage(foto + ".jpg"); //y aquí el 26 y el 50
foto++;
if (foto > 28) foto = 25;
}
lado.blend(img, 0, 0, anchoImagen, altoImagen, 0, 0, anchoImagen, altoImagen, SCREEN);
lado.blend(circulo, 0, 0, anchoImagen, altoImagen, 0, 0, anchoImagen, altoImagen, MULTIPLY); //Se puede cambiar el modo de fusión de las fotos cambiando MULTIPLY por otro, como BLEND, ADD, SUBTRACT, DARKEST, LIGHTEST, DIFFERENCE, EXCLUSION, MULTIPLY, SCREEN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, DODGE o BURN.
lado.filter(GRAY);
return lado;
}
void draw() {
background (0);
if (keyPressed) {
//if (Paco.analogRead(0) >= luz && (second()+60-tiempoUno)%60>tiempoMinimo) { //Comprobar si tiene que ser <= o >=
// if ((keyPressed == 'a') && (second()+60-tiempoUno)%60>tiempoMinimo) {
if (key == 'a' || key == 'A') {
//Paco.digitalWrite(5, Arduino.HIGH);
/* if (esperandoUno) {
tiempoLedUno = second();
esperandoUno = false;
}
if ((second()+60 - tiempoLedUno)%60 >= tiempoEspera) {*/
uno = updateImg(cam, uno);/*
tiempoUno = second();
esperandoUno = true;
//Paco.digitalWrite(5, Arduino.LOW);
}*/
}
// else if (Paco.analogRead(1) >= luz && (second()+60-tiempoDos)%60>tiempoMinimo) { //Comprobar si tiene que ser <= o >= aquí también
// else if ((keyPressed == 'b') && (second()+60-tiempoDos)%60>tiempoMinimo) {
else if (keyCode == DOWN) {
//Paco.digitalWrite(6, Arduino.HIGH);
/* if (esperandoDos) {
tiempoLedDos = second();
esperandoDos = false;
}
if ((second()+60 - tiempoLedDos)%60 >= tiempoEspera) {*/
////dos = updateImg(cam2, dos);/*
//// tiempoDos = second();
//// esperandoDos = true;
//Paco.digitalWrite(6, Arduino.LOW);
//// }*/
}
}
image(uno, 300, 0, anchoImagen, altoImagen);
//// image(dos, anchoImagen, 0, anchoImagen, altoImagen);
}
a picture is playing on the screen, but if somebody press key (a) then capture a frame of a webcam and are mixing with a filter. this is my first target.
The second target gets what if detect a person smiling mixed with other pictures.
sorry my English
I'm looking for the equivalent to cam.crop in processing 3
You see for example this part:
...PImage lado){
...
lado = cam.get();
So you used cam.get() to load the data into a PImage. Both get() and PImage.get() (and Capture.get()..?) can take four arguments defining a selection box -- see:
Answers
https://Processing.org/reference/PImage_copy_.html
Hi boys! I'm looking for the equivalent to cam.crop in processing 3
because i have a error:
unreadable
edit post, highlight code, press ctrl-o to format
you don't say what it is...
thankS
error: the funtion crop (int, int, int, int) does not exist
i want a capture croped
a picture is playing on the screen, but if somebody press key (a) then capture a frame of a webcam and are mixing with a filter. this is my first target.
The second target gets what if detect a person smiling mixed with other pictures. sorry my English
Re:
You see for example this part:
So you used
cam.get()
to load the data into aPImage
. Bothget()
andPImage.get()
(andCapture.get()
..?) can take four arguments defining a selection box -- see:Please close this discussion.
I just realized that this was a hijacked earlier post. -- see @guspelina 's new thread here:
https://forum.processing.org/two/discussion/25055/how-could-do-what-a-capture-from-webcam-show-croped-no-resize