View  Edit  Attributes  History  Attach  Print  Search


ACCUEIL | DOCUMENTATION | STRATEGIES | TESTS

OpencvallocateBufferMemory

Main.OpencvallocateBufferMemory History

Hide minor edits - Show changes to output

Changed line 117 from:
Cette page est une création originale de Xavier HINAULT - Tous droits réservés - 2011
to:
Cette page est une création originale de Xavier HINAULT - Tous droits réservés - 2012
Changed lines 13-14 from:
* Ces 3 fonctions d'usage avancé permettent l'initialisation des buffers images de la librairie javacvPro avec des tailles d'image différentes.
to:
* Ces 3 fonctions d'usage avancé permettent l'initialisation des buffers images de la librairie javacvPro avec des tailles d'image différentes. Ces fonctions sont à appeler en début de programme dans la fonction setup().
Changed lines 46-49 from:
to:
void allocateBuffer (int widthIn, int heightIn)
void allocateMemory (int widthIn, int heightIn)
void allocateMemory2 (int widthIn, int heightIn)

Added lines 56-59:
opencv.allocateBuffer( widthIn, heightIn);
opencv.allocateMemory( widthIn, heightIn);
opencv.allocateMemory2( widthIn, heightIn);

Changed lines 66-67 from:
*
to:
* widthIn : largeur de l'image qui sera chargée dans le buffer
* heightIn : hauteur de l'image qui sera chargée dans le buffer


Changed lines 72-73 from:
Aucune
to:
Aucune. Crée les buffers internes voulus de la librairie javacvPro à la taille voulue.
Changed lines 76-77 from:
*
to:
* Stockage dans le buffer Memory d'une image d'objet qui sera recherchée dans une image de scène à l'aide d'un algorithme de concordance tel que SURF. Dans ce cas, l'image de l'objet sera typiquement plus petite que l'image de scène.
Changed lines 82-101 from:
to:
opencv = new OpenCV(this); // initialise objet OpenCV à partir du parent This

//========== image objet ==================
//-- charge image utilisée ---
imgObjet=loadImage(urlObjet,"jpg"); // crée un PImage contenant le fichier à partir adresse web

//-------- initialisation OpenCV Memory ---------------
opencv.allocateMemory(imgObjet.width, imgObjet.height); // initialise les buffers Memory OpenCv à la taille de l'image Objet
       
opencv.remember(imgObjet); // charge le PImage dans le buffer Memory OpenCV
//opencv.copyToMemory(imgObjet); // charge le PImage dans le buffer OpenCV - idem
       
//========== image scene ==================
//-- charge image utilisée ---
imgScene=loadImage(urlScene,"png"); // crée un PImage contenant le fichier à partir adresse web

//-------- initialisation OpenCV Buffer ---------------
opencv.allocateBuffer(imgScene.width, imgScene.height); // initialise les buffers OpenCv à la taille de l'image Scene
opencv.copy(imgScene); // charge le PImage dans le buffer OpenCV

Changed lines 104-110 from:
%center%%red% L'exemple complet suivant est à copier dans Processing et est exécutable immédiatement si vous êtes connectés à internet :


(:source lang=processing :)


(:sourcend:)
to:
Changed line 39 from:
* Voir également : allocate
to:
* Voir également : allocate()
Changed line 35 from:
* Ces fonctions sont différentes de la fonction allocate() qui initialise l'ensemble des buffers image utilisés par la librairie javacvPro à la même taille en une seule instruction, ce qui convient le plus souvent mais pas toujours...
to:
* Ces fonctions sont différentes de la fonction allocate() qui initialise l'ensemble des buffers image utilisés par la librairie javacvPro à la même taille en une seule instruction, ce qui convient le plus souvent mais pas toujours... %blue%'''Dans la très grande majorité des cas, l'utilisation de la fonction allocate() sera à privilégier cependant.'''
Changed line 32 from:
* L'utilisation de buffer mémoire de taille différente du buffer principal sera utiles essentiellement lors de l'utilisation des algorithmes de recherche de concordance tel que SURF.
to:
* L'utilisation de buffer mémoire de taille différente du buffer principal sera utile essentiellement lors de l'utilisation des algorithmes de recherche de concordance tel que SURF.
Changed line 31 from:
%red% * ATTENTION : les fonctions de traitement d'image de la librairie javacvPro s'appliquent seulement sur des images ayant la même taille que le buffer principal (initialisé avec allocate() ou allocateBuffer() ).
to:
* %red% ATTENTION : les fonctions de traitement d'image de la librairie javacvPro s'appliquent seulement sur des images ayant la même taille que le buffer principal (initialisé avec allocate() ou allocateBuffer() ).
Changed line 31 from:
%red% ATTENTION : les fonctions de traitement d'image de la librairie javacvPro s'appliquent seulement sur des images ayant la même taille que le buffer principal (initialisé avec allocate() ou allocateBuffer() ).
to:
%red% * ATTENTION : les fonctions de traitement d'image de la librairie javacvPro s'appliquent seulement sur des images ayant la même taille que le buffer principal (initialisé avec allocate() ou allocateBuffer() ).
Changed line 13 from:
* Ces 3 fonctions permettent l'initialisation des buffers images de la librairie javacvPro avec des tailles d'image différentes.
to:
* Ces 3 fonctions d'usage avancé permettent l'initialisation des buffers images de la librairie javacvPro avec des tailles d'image différentes.
Changed lines 9-11 from:
%center%%width=400px%[[Path:|Path:]]

to:

Changed lines 15-16 from:
* La fonction allocate
to:
* La fonction allocateBuffer() initialise à la même taille les buffers suivants :
** le buffer principal, image à trois canaux RGB, sur lequel sont appliquées par défaut la plupart des fonctions de la librairie.
** le buffer Gray, en niveaux de gris, monocanal

** le buffer R, pouvant recevoir le canal rouge, monocanal.
** le buffer G, pouvant recevoir le canal vert, monocanal.
** le buffer B, pouvant recevoir le canal bleu, monocanal.

* La fonction allocateMemory() initialise à la même taille les buffers suivants :
** le buffer Memory, qui permet le stockage d'image 3 canaux (voir fonction remember() ).
** le buffer Memory2, qui permet le stockage d'une image 3 canaux également  (voir fonction remember2() ).

* La fonction allocateMemory2() initialise à la taille voulue uniquement le buffer suivant :
** le buffer Memory2, qui permet le stockage d'une image 3 canaux également  (voir fonction remember2() ).

>>important<<
%red% ATTENTION : les fonctions de traitement d'image de la librairie javacvPro s'appliquent seulement sur des images ayant la même taille que le buffer principal (initialisé avec
allocate() ou allocateBuffer() ).
* L'utilisation de buffer mémoire de taille différente du buffer principal sera utiles essentiellement lors de l'utilisation des algorithmes de recherche de concordance tel que SURF.
>><<

Changed lines 37-39 from:
* Voir également :
to:
* Au final, on pourra ainsi utiliser jusqu'à 3 tailles différentes d'images au besoin.

* Voir également : allocate
Added lines 1-76:
(:notitle:)
(:include HautPageReference:)\\
[[Main.LibrairieJavacvPro|Librairie JavacvPro]]

! Classe OpenCV : allocateBuffer(), allocateMemory, allocateMemory2()
----

%center%Path:/mes_images/javacvpro/bandeau_javacvpro_processing_opencv_400.png
%center%%width=400px%[[Path:|Path:]]


!! Description

* Ces 3 fonctions permettent l'initialisation des buffers images de la librairie javacvPro avec des tailles d'image différentes.

* La fonction allocate

* Ces fonctions sont différentes de la fonction allocate() qui initialise l'ensemble des buffers image utilisés par la librairie javacvPro à la même taille en une seule instruction, ce qui convient le plus souvent mais pas toujours...

* Voir également :

(:include OpencvBuffers:)

!! Déclaration source java

(:source lang=java :)

(:sourcend:)

!! Syntaxe

(:source lang=processing :)

(:sourcend:)


!! Paramètres

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

!! Valeur renvoyée

Aucune

!! Utilisation type

*

!! Exemple

(:source lang=processing :)


(:sourcend:)

%center%%red% L'exemple complet suivant est à copier dans Processing et est exécutable immédiatement si vous êtes connectés à internet :


(:source lang=processing :)


(:sourcend:)


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