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 MirrorImage

Manipulation d'une image miroir. Plus de détails...

#include <MirrorImage.h>

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

Fonctions membres publiques

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).
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).
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.
 ~MirrorImage ()
 Destructeur par défaut.
void print ()
 Sortie des informations sur l'image miroir.
- 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

 MirrorImage (int width, int height, int channels, BoundingBox< double > bbox, Image *image, int position, uint mirrorSize)
 Crée un objet MirrorImage à 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 T >
int _getline (T *buffer, int line)
 Retourne une ligne, flottante ou entière.

Attributs privés

ImagesourceImage
 Image source, utilisée pour composer l'image miroir.
int position
 Position du miroir par rapport à l'image source.
uint mirrorSize
 Taille du miroir en pixel.

Amis

class MirrorImageFactory

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

Manipulation d'une image miroir.

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

Une image miroir est viruelle et n'est en fait que le reflet d'une autre image. Pour la définir, on a donc besoin d'une image source et de la position du miroir par rapport à cette image source. On définit aussi la largeur en pixel de ce miroir

On peut voir aussi les miroirs comme un buffer, autour d'une image. Ces images factices sont utilisées notamment pour éviter les effets de bord lors de réechantillonnage.

miroirs_pos.png

Documentation des constructeurs et destructeur

MirrorImage::MirrorImage ( int  width,
int  height,
int  channels,
BoundingBox< double >  bbox,
Image image,
int  position,
uint  mirrorSize 
)
inlineprotected

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

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

Paramètres
[in]widthlargeur de l'image en pixel
[in]heighthauteur de l'image en pixel
[in]channelnombre de canaux par pixel
[in]bboxemprise rectangulaire de l'image
[in]imageimage source
[in]positionposition du miroir par rapport à l'image source
[in]mirrorSizetaille du miroir en pixel

Documentation des fonctions membres

template<typename T >
int MirrorImage::_getline ( T *  buffer,
int  line 
)
private

Retourne une ligne, flottante ou entière.

Lorsque l'on veut récupérer une ligne d'une image miroir, on va se reporter sur l'image source,

Exemple : si on veut la denière ligne du miroir haut (position 0), on récupérera la première ligne de l'image source.

Paramètres
[out]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 :

int MirrorImage::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 MirrorImage::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 MirrorImage::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 :

Documentation des données membres

uint MirrorImage::mirrorSize
private

Taille du miroir en pixel.

Selon la position du miroir, cette taille correspondra à la largeur ou à la hauteur de l'image.

En pratique, cette taille correspondra au nombre de pixels nécessaires pour l'interpolation.

int MirrorImage::position
private

Position du miroir par rapport à l'image source.

  • 0 : en haut
  • 1 : à droite
  • 2 : en bas
  • 3 : à gauche

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