Good morning!
I'm developing a program with mpe library. I want to create a scanimation starting from 6 images acquired by a camera. Here is the code of the 2 files that i syncronize between them.
// librerie TRASFERIMENTO DATI
import mpe.client.*;
// librerie CAMERA
import hypermedia.video.*;
import codeanticode.gsvideo.*;
// variabili TRASFERIMENTO DATI
TCPClient c; // oggetto client MPE
boolean start; // utilizzato da MPE per iniziare la sincronizzazione dei client
// variabili CAMERA
OpenCV opencv;
GSCapture cam;
// variabili SCANIMATION
int n=0, // usata per conteggiare il numero di "foto"
nframes=6, // numero di "foto" da scattare
maxx, // larghezza immagine
maxy; // altezza immagine
PImage[] frame = new PImage[nframes]; // vettore che conterrà i vari frame
PImage scanimage, // conterrà l'immagine di scanimation
maskimage; // conterrà l'immagine di maschera
String nomep = "foto"; // inizio del nome del file delle "foto"
String[] fname = new String[nframes];
// ALTRE variabili
int lc = 262, // larghezza finestra-camera
ac = 196; // altezza finestra-camera
boolean fine_foto = false; // settato a TRUE quando finisco di scattare le "foto" per far iniziare lo scanimation
boolean fine_scanimation = false; // settato a TRUE quando finisce la fase di scanimation
void setup(){
// IMMAGINE
maxx = lc; // imposto la LARGHEZZA massima dell'immagine pari alla larghezza della finestra della cam
maxy = ac; // imposto l'ALTEZZA massima dell'immagine pari all'altezza della finestra della cam
// CAMERA
opencv = new OpenCV(this); // nuovo oggetto OpenCV
opencv.allocate(lc, ac); // allocazione camera
opencv.capture(lc, ac); // acquisizione dalla camera
// TRASFERIMENTO DATI
c = new TCPClient(sketchPath("mpe.ini"), this); // nuovo oggetto TCPClient
size(c.getLWidth(),c.getLHeight()); // dimensione della finestra
randomSeed(42); // tutti i client devono avere lo stesso randomSeed
c.start(); // avvio il client
}
void draw(){
}
void frameEvent(TCPClient c){
background(0);
fill(0);
opencv.read();
image(opencv.image(),0,0);
if(fine_foto && !fine_scanimation){ // se ho finito di scattare le foto
scanimation();
animazione();
}
}
void animazione(){
// visualizzazione immagine di scanimation
scanimage = loadImage(nomep+"_scanimage.png");
----->>>>>>> HERE IS THE PROBLEM ->>> image(scanimage, 480, 120, width/2, height/2); // visualizzo l'immagine ridimensionandola <<<<<<<<<---------
noLoop();
}
println ("SCATTATA FOTO N° "+ n); // scatto la foto
n++; // incremento il contatore
}
else{
println("NON PUOI SCATTARE ALTRE FOTO!");
fine_foto = true;
println("PAUSA!");
}
}
The problem is that when (IN THE "HERE IS THE PROBLEM" LINE) i want to visualize the an image, i see half image only in the first screen but i see nothing in the second screen. I tried also changing the mpe.ini files but nothing is happened.
Obviously i want to visualize half image in the first screen and half of image in the second screen!
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at java.net.Socket.<init>(Socket.java:372)
at java.net.Socket.<init>(Socket.java:186)
at mpe.client.TCPClient.start(TCPClient.java:467)
at mpeBalls0.setup(mpeBalls0.java:65)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)
Exception in thread "Thread-3" java.lang.NullPointerException
at mpe.client.TCPClient.send(TCPClient.java:624)
at mpe.client.TCPClient.run(TCPClient.java:487)
I think that processing can't launch the server but i'm not sure of this.
Somebody knows how can i fix this?