// Programme d'exemple de la librairie javacvPro
// par X. HINAULT - octobre 2011
// Tous droits réservés - Licence GPLv3
// Exemple fonction addWeighted()
import monclubelec.javacvPro.*; // importe la librairie javacvPro
PImage img1, img2, imgDest;
String url1="http://www.mon-club-elec.fr/mes_images/online/lena.jpg"; // String contenant l'adresse internet de l'image à utiliser
String url2="http://www.mon-club-elec.fr/mes_images/online/Water_bubbles.jpg"; // String contenant l'adresse internet de l'image à utiliser
OpenCV opencv; // déclare un objet OpenCV principal
void setup(){ // fonction d'initialisation exécutée 1 fois au démarrage
//-- charge image utilisée ---
img1=loadImage(url1,"jpg"); // crée un PImage contenant le fichier à partir adresse web
img2=loadImage(url2,"jpg"); // crée un PImage contenant le fichier à partir adresse web
//--- initialise OpenCV ---
opencv = new OpenCV(this); // initialise objet OpenCV à partir du parent This
opencv.allocate(img1.width, img1.height); // initialise les buffers OpenCv à la taille de l'image
opencv.copy(img1); // charge le PImage dans le buffer OpenCV
opencv.remember(); // mémorise l'image dans buffer mémory
opencv.copy(img2); // charge le PImage dans le buffer OpenCV
//--- initialise fenêtre Processing
size (opencv.width()*3, opencv.height()); // crée une fenêtre Processing de la 2xtaille du buffer principal OpenCV
//size (img.width, img.height); // aalternative en se basant sur l'image d'origine
//--- affiche image de départ 1 ---
image(opencv.getMemory(),0,0); // affiche le buffer Memory OpenCV dans la fenêtre Processing
//--- affiche image de départ 2 ---
image(opencv.getBuffer(),opencv.width(),0); // affiche le buffer principal OpenCV dans la fenêtre Processing
//--- opérations sur images ---
opencv.addWeighted(opencv.Buffer, 0.25, opencv.Memory, 0.75, 0, opencv.Buffer); // combine les 2 images
//--- affiche image finale ---
image(opencv.getBuffer(),opencv.width()*2,0); // affiche le buffer principal OpenCV dans la fenêtre Processing
noLoop(); // stop programme
}
void draw() { // fonction exécutée en boucle
}