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 DecimatedImage

Décimation d'une image, c'est à dire qu'on ne garde qu'un seul pixel tous les N pixels. Plus de détails...

#include <DecimatedImage.h>

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

Fonctions membres publiques

ImagegetMask ()
 Retourne le masque de l'image source.
ImagegetImage ()
 Retourne l'image source.
int * getNodata ()
 Retourne la valeur de non-donnée.
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.
virtual ~DecimatedImage ()
 Destructeur par défaut.
void print ()
 Sortie des informations sur l'image composé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.
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

 DecimatedImage (int width, int height, int channels, double resx, double resy, BoundingBox< double > bbox, Image *image, int *nd)
 Crée un objet DecimatedImage à 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 à décimer.
int * nodata
 Valeur de non-donnée.
int ratioX
 Pas de la décimation dans le sens des X.
int ratioY
 Pas de la décimation dans le sens des Y.
int sourceOffsetX
 Colonne du premier pixel de l'image source à être dans l'image décimée.
int numberX
 Nombre de pixel à prendre dans l'image source pour composer l'image décimée.
int imageOffsetX
 Colonne du premier pixel de l'image décimée à provenir de l'image source.

Amis

class DecimatedImageFactory

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

Décimation d'une image, c'est à dire qu'on ne garde qu'un seul pixel tous les N pixels.

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

Documentation des constructeurs et destructeur

DecimatedImage::DecimatedImage ( int  width,
int  height,
int  channels,
double  resx,
double  resy,
BoundingBox< double >  bbox,
Image image,
int *  nd 
)
protected

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

Ce constructeur est protégé afin de n'être appelé que par l'usine DecimatedImageFactory, 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]resxrésolution dans le sens des X
[in]resyrésolution dans le sens des Y
[in]bboxemprise rectangulaire de l'image
[in]imageimage source
[in]ndvaleur de non-donnée

Voici le graphe d'appel pour cette fonction :

virtual DecimatedImage::~DecimatedImage ( )
inlinevirtual

Destructeur par défaut.

Suppression de toutes les images composant la DecimatedImage

Documentation des fonctions membres

template<typename T >
int DecimatedImage::_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 décimée, on ne garde que un pixel tous les ratioX de l'image source

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 :

Image* DecimatedImage::getImage ( )
inline

Retourne l'image source.

Renvoie
image
int DecimatedImage::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 DecimatedImage::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 DecimatedImage::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* DecimatedImage::getMask ( )
inline

Retourne le masque de l'image source.

Renvoie
masque

Réimplémentée à partir de Image.

Voici le graphe d'appel pour cette fonction :

int* DecimatedImage::getNodata ( )
inline

Retourne la valeur de non-donnée.

Renvoie
Valeur de non-donnée

Documentation des données membres

int* DecimatedImage::nodata
private

Valeur de non-donnée.

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

int DecimatedImage::numberX
private

Nombre de pixel à prendre dans l'image source pour composer l'image décimée.

Peut être égal à zéro, auquel cas l'image source n'est pas lue et l'image décimée et pleine de nodata


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