View  Edit  Attributes  History  Attach  Print  Search


ACCUEIL | DOCUMENTATION | STRATEGIES | TESTS

Opencvrestore

Main.Opencvrestore History

Hide minor edits - Show changes to output

Added lines 1-120:
(:notitle:)
(:include HautPageReference:)\\
[[Main.LibrairieJavacvPro|Librairie JavacvPro]]

! Classe OpenCV : restore(), restore2()
----

%center%Path:/mes_images/javacvpro/bandeau_javacvpro_processing_opencv_400.png


!! Description

* Ces fonctions recharge le buffer principal avec le contenu d'un des "buffers image" de mémorisation d'image RGB 3 canaux disponibles avec la classe OpenCV de la librairie javacvPro. Respectivement :
** restore() : recharge le buffer Memory dans le buffer principal, image RGB 3 canaux.
** restore2(): recharge le buffer Memory2 dans le buffer principal, image RGB 3 canaux.

>>tip<<
* Ces 2 buffers sont particulièrement utiles pour le stockage d'images intermédiaires impliquant plusieurs images. Typiquement, on pourra combiner le buffer principal (typiquement issu d'un flux vidéo) et une image stockée dans Memory et garder le résultat obtenu dans le buffer Memory2.
* Cette utilisation de buffers distincts évite les effets imprévus liés à l'enregistrement successif dans un même buffer de la source et du résultat d'un traitement d'image.
>><<

* Voir également : substract()

!! Déclaration source java

(:source lang=java :)
public PImage restore()
public PImage restore2()
(:sourcend:)

!! Syntaxe

(:source lang=processing :)
opencv.restore(); // recharge le buffer Memory dans le buffer principal
(:sourcend:)


!! Paramètres

* opencv : un objet OpenCV déclaré avec le constructeur [[OpencvOpencv|OpenCV]].

!! Valeur renvoyée

* Aucun. Le buffer principal contient la copie du buffer Memory ou Memory2. Le buffer Memory utilisé n'est pas modifié.

!! Exemple


(:source lang=processing :)

// Programme d'exemple de la librairie javacvPro
// par X. HINAULT - mars 2012
// Tous droits réservés - Licence GPLv3

// Exemple fonction remember(), restore(), getMemory()

import monclubelec.javacvPro.*; // importe la librairie javacvPro

PImage img;

String url="http://www.mon-club-elec.fr/mes_images/online/lena.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 ---
        img=loadImage(url,"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(img.width, img.height); // initialise les buffers OpenCv à la taille de l'image
       
        opencv.copy(img); // charge le PImage dans le buffer OpenCV
       
        //--- initialise fenêtre Processing
        size (opencv.width()*2, 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
       
        //--- mémorise image du buffer principal dans buffer Memory
        opencv.remember();
       
        //--- affiche image de départ via le buffer mémory ---       
        //image(opencv.getMemory(),0,0); // affiche le buffer Memory OpenCV dans la fenêtre Processing

        //--- opérations sur image ---

        opencv.gray("BUFFER"); // transforme le buffer OpenCV désigné en niveau de gris - copie mise dans le buffer Gray
       
        //--- affiche image finale ---
        image(opencv.getBuffer(),0,0); // affiche le buffer principal OpenCV dans la fenêtre Processing = image traitée
       
        opencv.restore(); // recharge le buffer memory dans le buffer principal = l'image de départ
        image (opencv.getBuffer(), opencv.width(), 0); // affiche le buffer principal OpenCV dans la fenêtre Processing
       
      noLoop(); // stop programme       
}


void  draw() { // fonction exécutée en boucle

}



(:sourcend:)

(:include OpencvBuffers :)

!! Commentaires utilisateurs

>>bgcolor=#dfd border='3px dotted green'<<

Aucun

>><<

(:include BasPageReference:)

Cette page est une création originale de Xavier HINAULT - Tous droits réservés - 2011