View  Edit  Attributes  History  Attach  Print  Search


ACCUEIL | DOCUMENTATION | STRATEGIES | TESTS

OpencvgetMemory

Main.OpencvgetMemory History

Hide minor edits - Show changes to output

Changed line 5 from:
! Classe OpenCV : getMemory(), getMemory2(), restore(), restore2()
to:
! Classe OpenCV : getMemory(), getMemory2()
Changed lines 14-16 from:
** getMemory() et restore() : renvoie le buffer Memory, image RGB 3 canaux.
** getMemory2() et restore2() : renvoie le buffer Memory2, image RGB 3 canaux.
to:
** getMemory() : renvoie le buffer Memory, image RGB 3 canaux.
** getMemory2(): renvoie le buffer Memory2, image RGB 3 canaux.
Changed lines 29-30 from:
public PImage restore()
public PImage restore2()
to:
Deleted line 35:
img=opencv.restore(); // renvoie le buffer Memory dans le PImage
Changed lines 87-97 from:

        //--- 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
 
   
to:
    
Added lines 54-107:

// 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

}

Added lines 7-9:

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

Changed line 5 from:
! Classe OpenCV : getMemory(), getMemory2()
to:
! Classe OpenCV : getMemory(), getMemory2(), restore(), restore2()
Changed lines 11-13 from:
** getMemory() : renvoie le buffer Memory, image RGB 3 canaux.
** getMemory2() : renvoie le buffer Memory2, image RGB 3 canaux.
to:
** getMemory() et restore() : renvoie le buffer Memory, image RGB 3 canaux.
** getMemory2() et restore2() : renvoie le buffer Memory2, image RGB 3 canaux.
Changed lines 24-28 from:
public PImage getBuffer ()
public PImage getBufferGray()
public PImage getBufferR()
public PImage getBufferG()
public PImage getBufferB
()
to:
public PImage getMemory ()
public PImage getMemory2()
public PImage restore()
public PImage restore2()
Changed lines 33-34 from:
img=opencv.getBufferR(); // renvoie le buffer rouge dans le PImage
to:
img=opencv.getMemory(); // renvoie le buffer Memory dans le PImage
img=opencv.restore(); // renvoie le buffer Memory
dans le PImage
Added lines 1-67:
(:notitle:)
(:include HautPageReference:)\\
[[Main.LibrairieJavacvPro|Librairie JavacvPro]]

! Classe OpenCV : getMemory(), getMemory2()
----

!! Description

* Ces fonctions renvoient un PImage 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 :
** getMemory() : renvoie le buffer Memory, image RGB 3 canaux.
** getMemory2() : renvoie le buffer Memory2, 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 la source et le résultat d'un traitement d'image.
>><<

* Voir également : substract()

!! Déclaration source java

(:source lang=java :)
public PImage getBuffer ()
public PImage getBufferGray()
public PImage getBufferR()
public PImage getBufferG()
public PImage getBufferB()
(:sourcend:)

!! Syntaxe

(:source lang=processing :)
img=opencv.getBufferR(); // renvoie le buffer rouge dans le PImage
(:sourcend:)


!! Paramètres

* opencv : un objet OpenCV déclaré avec le constructeur [[OpencvOpencv|OpenCV]].
* img : un objet PImage (conteneur image Processing)

!! Valeur renvoyée

* Objet PImage contenant l'image présente dans le buffer voulu

!! Exemple


(:source lang=processing :)


(: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