View  Edit  Attributes  History  Attach  Print  Search


ACCUEIL | DOCUMENTATION | STRATEGIES | TESTS


Librairie JavacvPro

Classe OpenCV : copyToGray()


Description

  • Cette fonction charge un objet PImage dans le buffer Gray (mono-canal). Cette fonction permet d'appliquer toutes les fonctions de la librairie à une image PImage une fois qu'elle a été chargée dans le buffer Gray. A noter que cette fonction supporte l'utilisation d'un PImage à canaux multiples.
  • Utilisation avancée : cette fonction peut également être utilisée pour charger un objet IplImage (conteneur d'image natif de la fonction OpenCV) dans le buffer Gray .
  • Voir également : gray(), getBufferGray()

Déclaration source java

public void copyToGray ()
public void copyToGray (PImage imgIn)
public void copyToGray (opencv_core.IplImage iplImgIn)

Syntaxe

opencv.copyToGray(); // copie le buffer principal dans le buffer Gray en niveau de gris
opencv.copyToGray(img);

Paramètres

  • opencv : un objet OpenCV
  • img : un objet PImage ou un objet IplImage

Valeur renvoyée

Aucune. L'image est chargée dans le buffer Gray OpenCV.

Exemple


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

// Exemple fonction copyToGray()

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.copyToGray(img); // charge le PImage dans le buffer OpenCV
        //--- la fonction supporte un nombre de canal différent entre le buffer mono-canal et l'image de départ

        //--- initialise fenêtre Processing
        size (opencv.width(), opencv.height()); // crée une fenêtre Processing de la 2xtaille du buffer principal OpenCV
        //size (img.width, img.height); // alternative en se basant sur l'image d'origine

        //--- affiche image ---        
        image(opencv.getBufferGray(),0,0); // affiche le buffer principal OpenCV dans la fenêtre Processing


       noLoop(); // stop programme      

}


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

}
 

Durée d'exécution de la fonction

  • La réalisation de 100 exécutions successives de la fonction dans Processing (sur un Intel Dual Core à 2.33Gz sous Ubuntu 10.04 LTS avec la version OpenCV 2.3.1) pour une image de 320x240 donne une durée moyenne pour chaque exécution de :
    • de 0.05 ms en mode "interprété" !

Commentaires utilisateurs

Aucun

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