libimage  0.25.4
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Énumérations Macros Pages
Fonctions membres publiques | Fonctions membres protégées | Fonctions membres privées | Attributs privés | Amis | Liste de tous les membres
Référence de la classe MergeImage

Fusion d'images de mêmes dimensions. Plus de détails...

#include <MergeImage.h>

Graphe d'héritage de MergeImage:
Inheritance graph
Graphe de collaboration de MergeImage:
Collaboration graph

Fonctions membres publiques

virtual int getline (uint8_t *buffer, int line)
 Retourne une ligne en entier 8 bits. Les canaux sont entrelacés. ATTENTION : si les données ne sont pas intrinsèquement codées sur des entiers 8 bits, il n'y a pas de conversion (une valeur sur 32 bits occupera 4 "cases" sur 8 bits).
virtual int getline (uint16_t *buffer, int line)
 Retourne une ligne en entier 16 bits. Les canaux sont entrelacés. ATTENTION : si les données ne sont pas intrinsèquement codées sur des entiers 16 bits, il n'y a pas de conversion (une valeur sur 32 bits occupera 2 "cases" sur 16 bits).
virtual int getline (float *buffer, int line)
 Retourne une ligne en flottant 32 bits. Les canaux sont entrelacés. Si les données ne sont pas intrinsèquement codées sur des flottants 32 bits, une conversion est effectuée.
std::vector< Image * > * getImages ()
 Retourne le tableau des images sources.
ImagegetMask (int i)
 Retourne le masque de l'image source d'indice i.
virtual ~MergeImage ()
 Destructeur par défaut.
void print ()
 Sortie des informations sur l'image fusionnée.
- Fonctions membres publiques inherited from Image
void makeMask ()
 Définit l'image comme un masque.
int getWidth ()
 Retourne la largeur en pixel de l'image.
int getHeight ()
 Retourne la hauteur en pixel de l'image.
void setBbox (BoundingBox< double > box)
 Définit l'emprise rectangulaire de l'image et calcule les résolutions.
bool setDimensions (int w, int h, BoundingBox< double > box, double rx, double ry)
 Définit les dimensions de l'image, en vérifiant leurs cohérences.
BoundingBox< double > getBbox () const
 Retourne l'emprise rectangulaire de l'image.
void setCRS (CRS srs)
 Définit le SRS de l'emprise rectangulaire.
CRS getCRS () const
 Retourne le SRS de l'emprise rectangulaire de l'image.
double getXmin () const
 Retourne le xmin de l'emprise rectangulaire.
double getYmax () const
 Retourne le ymax de l'emprise rectangulaire.
double getXmax () const
 Retourne le xmax de l'emprise rectangulaire.
double getYmin () const
 Retourne le ymin de l'emprise rectangulaire.
double getResX () const
 Retourne la résolution dans le sens des X.
double getResY () const
 Retourne la résolution dans le sens des Y.
ImagegetMask ()
 Retourne le masque de donnée associé à l'image.
bool setMask (Image *newMask)
 Définit le masque de donnée et contrôle la cohérence avec l'image.
int x2c (double x)
 Conversion de l'abscisse terrain vers l'indice de colonne dans l'image.
int y2l (double y)
 Conversion de l'ordonnée terrain vers l'indice de ligne dans l'image.
double c2x (int c)
 Conversion de l'indice de colonne dans l'image vers l'abscisse terrain du centre du pixel.
double l2y (int l)
 Conversion de l'indice de ligne dans l'image vers l'ordonnée terrain du centre du pixel.
double getPhaseX ()
 Calcul de la phase dans le sens des X.
double getPhaseY ()
 Calcul de la phase dans le sens des Y.
bool isCompatibleWith (Image *pImage)
 Détermine la compatibilité avec une autre image, en comparant phases et résolutions.
 Image (int width, int height, int channels, double resx, double resy, BoundingBox< double > bbox)
 Crée un objet Image à partir de tous ses éléments constitutifs.
 Image (int width, int height, int channels)
 Crée une Image sans préciser de géoréférencement, ni résolutions, ni rectangle englobant.
 Image (int width, int height, int channels, BoundingBox< double > bbox)
 Crée une Image sans préciser les résolutions.
 Image (int width, int height, int channels, double resx, double resy)
 Crée un objet Image sans préciser le rectangle englobant.
virtual ~Image ()
 Destructeur par défaut.
virtual void printTFW ()
 Sortie du tfw de l'image.

Fonctions membres protégées

 MergeImage (std::vector< Image * > &images, int channels, int *bg, int *transparent, Merge::eMergeType composition=Merge::NORMAL)
 Crée un objet MergeImage à partir de tous ses éléments constitutifs.
- Fonctions membres protégées inherited from Image
void computeResolutions ()
 Calcul des resolutions en x et en y, calculées à partir des dimensions et de la bouding box.

Fonctions membres privées

template<typename tBuf >
int _getline (tBuf *buffer, int line)
 Retourne une ligne, flottante ou entière.

Attributs privés

std::vector< Image * > images
 Images sources, toutes semblables, utilisée pour assembler l'image fusionnée.
Merge::eMergeType composition
 Méthode d'assemblage des images.
int * bgValue
 Valeur de fond.
int * transparentValue
 Valeur de transparence.

Amis

class MergeImageFactory

Additional Inherited Members

- Fonctions membres publiques statiques inherited from Image
static bool dimensionsAreConsistent (double resolution_x, double resolution_y, int w, int h, BoundingBox< double > bounding_box)
 Vérifie la cohérence des dimensions d'image fournies.
- Attributs publics inherited from Image
const int channels
 Nombre de canaux de l'image.
- Attributs protégés inherited from Image
int width
 Largeur de l'image en pixel.
int height
 Hauteur de l'image en pixel.
bool isMask
 L'image est-ell un masque ?
BoundingBox< double > bbox
 Emprise rectangulaire au sol de l'image.
CRS crs
 CRS du rectangle englobant de l'image.
Imagemask
 Masque de donnée associé à l'image, facultatif.
double resx
 Resolution de l'image, dans le sens des X.
double resy
 Resolution de l'image, dans le sens des Y.

Description détaillée

Fusion d'images de mêmes dimensions.

Auteur
Institut national de l'information géographique et forestière

On va manipuler un paquet d'images semblables comme si elles n'en étaient qu'une seule. On parle d'images semblables lorsqu'elles ont :

On va disposer de plusieurs manières de fusionner les images :

Documentation des constructeurs et destructeur

MergeImage::MergeImage ( std::vector< Image * > &  images,
int  channels,
int *  bg,
int *  transparent,
Merge::eMergeType  composition = Merge::NORMAL 
)
inlineprotected

Crée un objet MergeImage à partir de tous ses éléments constitutifs.

Ce constructeur est protégé afin de n'être appelé que par l'usine MergeImageFactory, qui fera différents tests et calculs.

Paramètres
[in]imagesimages sources
[in]channelnombre de canaux par pixel en sortie
[in]bgValuevaleur de pixel à utiliser comme fond, un entier par canal en sortie
[in]transparentValuevaleur de pixel à considérer comme transparent (peut être NULL), 3 valeurs entières
[in]compositionméthode de fusion à utiliser
virtual MergeImage::~MergeImage ( )
inlinevirtual

Destructeur par défaut.

Suppression de toutes les images composant la MergeImage

Documentation des fonctions membres

template<typename tBuf >
int MergeImage::_getline ( tBuf *  buffer,
int  line 
)
private

Retourne une ligne, flottante ou entière.

Paramètres
[in]bufferTableau contenant au moins width*channels valeurs
[in]lineIndice de la ligne à retourner (0 <= line < height)
Renvoie
taille utile du buffer, 0 si erreur

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

std::vector<Image*>* MergeImage::getImages ( )
inline

Retourne le tableau des images sources.

Renvoie
images sources

Voici le graphe des appelants de cette fonction :

int MergeImage::getline ( uint8_t *  buffer,
int  line 
)
virtual

Retourne une ligne en entier 8 bits. Les canaux sont entrelacés. ATTENTION : si les données ne sont pas intrinsèquement codées sur des entiers 8 bits, il n'y a pas de conversion (une valeur sur 32 bits occupera 4 "cases" sur 8 bits).

Paramètres
[in,out]bufferTableau contenant au moins 'width * channels * sizeof(sample)' entier sur 8 bits
[in]lineIndice de la ligne à retourner (0 <= line < height)
Renvoie
taille utile du buffer, 0 si erreur

Implémente Image.

Voici le graphe d'appel pour cette fonction :

int MergeImage::getline ( uint16_t *  buffer,
int  line 
)
virtual

Retourne une ligne en entier 16 bits. Les canaux sont entrelacés. ATTENTION : si les données ne sont pas intrinsèquement codées sur des entiers 16 bits, il n'y a pas de conversion (une valeur sur 32 bits occupera 2 "cases" sur 16 bits).

Paramètres
[in,out]bufferTableau contenant au moins 'width * channels * sizeof(sample) * 2' entier sur 16 bits
[in]lineIndice de la ligne à retourner (0 <= line < height)
Renvoie
taille utile du buffer, 0 si erreur

Implémente Image.

Voici le graphe d'appel pour cette fonction :

int MergeImage::getline ( float *  buffer,
int  line 
)
virtual

Retourne une ligne en flottant 32 bits. Les canaux sont entrelacés. Si les données ne sont pas intrinsèquement codées sur des flottants 32 bits, une conversion est effectuée.

Paramètres
[in,out]bufferTableau contenant au moins 'width * channels' flottant sur 32 bits
[in]lineIndice de la ligne à retourner (0 <= line < height)
Renvoie
taille utile du buffer, 0 si erreur

Implémente Image.

Voici le graphe d'appel pour cette fonction :

Image* MergeImage::getMask ( int  i)
inline

Retourne le masque de l'image source d'indice i.

Paramètres
[in]iindice de l'image source dont on veut le masque
Renvoie
masque

Voici le graphe des appelants de cette fonction :

Documentation des données membres

int* MergeImage::bgValue
private

Valeur de fond.

On a une valeur entière par canal. Tous les pixels de l'image fusionnée seront initialisés avec cette valeur.

std::vector<Image*> MergeImage::images
private

Images sources, toutes semblables, utilisée pour assembler l'image fusionnée.

L'image en première position est celle du dessous

int* MergeImage::transparentValue
private

Valeur de transparence.

On a 3 valeurs entières. Tous les pixels de cette valeur seront considérés comme transparent (en mode TRANSPARENCY)


La documentation de cette classe a été générée à partir des fichiers suivants :