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

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

#include <Jpeg2000Image.h>

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

Fonctions membres publiques

virtual int getline (uint8_t *buffer, int line)=0
 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)=0
 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)=0
 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.
int writeImage (Image *pIn)
 Ecrit une image JPEG2000, à partir d'une image source.
int writeImage (uint8_t *buffer)
 Ecrit une image JPEG2000, à partir d'un buffer d'entiers.
int writeImage (uint16_t *buffer)
 Ecrit une image JPEG2000, à partir d'un buffer d'entiers.
int writeImage (float *buffer)
 Ecrit une image JPEG2000, à partir d'un buffer de flottants.
int writeLine (uint8_t *buffer, int line)
 Ecrit une ligne d'image JPEG2000, à partir d'un buffer d'entiers.
int writeLine (uint16_t *buffer, int line)
 Ecrit une ligne d'image JPEG2000, à partir d'un buffer d'entiers.
int writeLine (float *buffer, int line)
 Ecrit une ligne d'image JPEG2000, à partir d'un buffer de flottants.
void print ()
 Sortie des informations sur l'image JPEG2000.
- Fonctions membres publiques inherited from FileImage
void unassociateAlpha (uint8_t *buffer)
 Désassocie le canal alpha.
char * getFilename ()
 Retourne le chemin du fichier image.
int getBitsPerSample ()
 Retourne le nombre de bits par canal.
Photometric::ePhotometric getPhotometric ()
 Retourne la photométrie des données image (rgb, gray...)
ExtraSample::eExtraSample getExtraSample ()
 Retourne le type du canal supplémentaire.
void setExtraSample (ExtraSample::eExtraSample es)
 Modifie le type du canal supplémentaire.
Compression::eCompression getCompression ()
 Retourne la compression des données.
SampleFormat::eSampleFormat getSampleFormat ()
 Retourne le format des canaux (entier, flottant)
int getPixelSize ()
 Retourne la taille en octet d'un pixel.
 ~FileImage ()
 Destructeur par défaut.
- 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

 Jpeg2000Image (int width, int height, double resx, double resy, int channels, BoundingBox< double > bbox, char *name, SampleFormat::eSampleFormat sampleformat, int bitspersample, Photometric::ePhotometric photometric, Compression::eCompression compression)
 Crée un objet Jpeg2000Image à partir de tous ses éléments constitutifs.
- Fonctions membres protégées inherited from FileImage
 FileImage (int width, int height, double resx, double resy, int channels, BoundingBox< double > bbox, char *name, SampleFormat::eSampleFormat sampleformat, int bitspersample, Photometric::ePhotometric photometric, Compression::eCompression compression, ExtraSample::eExtraSample esType=ExtraSample::ALPHA_UNASSOC)
 Crée un objet FileImage à 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.

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 FileImage
char * filename
 Chemin du fichier image.
Photometric::ePhotometric photometric
 Photométrie des données (rgb, gray...)
ExtraSample::eExtraSample esType
 type de l'éventuel canal supplémentaire
Compression::eCompression compression
 Compression des données (jpeg, packbits...)
SampleFormat::eSampleFormat sampleformat
 Format des canaux.
int bitspersample
 Nombre de bits par canal.
int pixelSize
 Taille d'un pixel en octet.

Description détaillée

Manipulation d'une image JPEG2000.

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

Une image JPEG2000 est une vraie image dans ce sens où elle est rattachée à un fichier, pour la lecture de données au format JPEG2000.

Cette classe va faire abstraction de la librairie utilisée pour réellement manipuler le fichier.

Librairie

Classe

En lecture

En écriture

Commentaires

OpenJpeg

LibopenjpegImage

Format de canal : entiers 8 bits

Non

Librarie open source, liée statiquement, intégrée dans le projet

Kakadu

LibkakduImage

Format de canal : entiers 8 bits, 16 bits

Non

Librairie propriétaire, dépendance statique, emplacement de la librarie à fournir

Si l'image gère la transparence, l'alpha est forcément non-associé aux autres canaux (spécifications JPEG2000). Il n'y a donc pas besoin de préciser #associatedalpha.

Documentation des constructeurs et destructeur

Jpeg2000Image::Jpeg2000Image ( int  width,
int  height,
double  resx,
double  resy,
int  channels,
BoundingBox< double >  bbox,
char *  name,
SampleFormat::eSampleFormat  sampleformat,
int  bitspersample,
Photometric::ePhotometric  photometric,
Compression::eCompression  compression 
)
protected

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

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

Paramètres
[in]widthlargeur de l'image en pixel
[in]heighthauteur de l'image en pixel
[in]resxrésolution dans le sens des X
[in]resyrésolution dans le sens des Y
[in]channelnombre de canaux par pixel
[in]bboxemprise rectangulaire de l'image
[in]namechemin du fichier image
[in]sampleformatformat des canaux
[in]bitspersamplenombre de bits par canal
[in]photometricphotométrie des données
[in]compressioncompression des données

Documentation des fonctions membres

virtual int Jpeg2000Image::getline ( uint8_t *  buffer,
int  line 
)
pure 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 FileImage.

Implémenté dans LibkakaduImage, et LibopenjpegImage.

virtual int Jpeg2000Image::getline ( uint16_t *  buffer,
int  line 
)
pure 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 FileImage.

Implémenté dans LibkakaduImage, et LibopenjpegImage.

virtual int Jpeg2000Image::getline ( float *  buffer,
int  line 
)
pure 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 FileImage.

Implémenté dans LibkakaduImage, et LibopenjpegImage.

int Jpeg2000Image::writeImage ( Image pIn)
inlinevirtual

Ecrit une image JPEG2000, à partir d'une image source.

Avertissement
Pas d'implémentation de l'écriture au format JPEG2000, retourne systématiquement une erreur
Paramètres
[in]pInsource des donnée de l'image à écrire
Renvoie
0 en cas de succes, -1 sinon

Implémente FileImage.

int Jpeg2000Image::writeImage ( uint8_t *  buffer)
inlinevirtual

Ecrit une image JPEG2000, à partir d'un buffer d'entiers.

Avertissement
Pas d'implémentation de l'écriture au format JPEG2000, retourne systématiquement une erreur
Paramètres
[in]buffersource des donnée de l'image à écrire
Renvoie
0 en cas de succes, -1 sinon

Implémente FileImage.

int Jpeg2000Image::writeImage ( uint16_t *  buffer)
inlinevirtual

Ecrit une image JPEG2000, à partir d'un buffer d'entiers.

Avertissement
Pas d'implémentation de l'écriture au format JPEG2000, retourne systématiquement une erreur
Paramètres
[in]buffersource des donnée de l'image à écrire
Renvoie
0 en cas de succes, -1 sinon

Implémente FileImage.

int Jpeg2000Image::writeImage ( float *  buffer)
inlinevirtual

Ecrit une image JPEG2000, à partir d'un buffer de flottants.

Avertissement
Pas d'implémentation de l'écriture au format JPEG2000, retourne systématiquement une erreur
Paramètres
[in]buffersource des donnée de l'image à écrire
Renvoie
0 en cas de succes, -1 sinon

Implémente FileImage.

int Jpeg2000Image::writeLine ( uint8_t *  buffer,
int  line 
)
inlinevirtual

Ecrit une ligne d'image JPEG2000, à partir d'un buffer d'entiers.

Avertissement
Pas d'implémentation de l'écriture au format JPEG2000, retourne systématiquement une erreur
Paramètres
[in]buffersource des donnée de l'image à écrire
[in]lineligne de l'image à écrire
Renvoie
0 en cas de succes, -1 sinon

Implémente FileImage.

int Jpeg2000Image::writeLine ( uint16_t *  buffer,
int  line 
)
inlinevirtual

Ecrit une ligne d'image JPEG2000, à partir d'un buffer d'entiers.

Avertissement
Pas d'implémentation de l'écriture au format JPEG2000, retourne systématiquement une erreur
Paramètres
[in]buffersource des donnée de l'image à écrire
[in]lineligne de l'image à écrire
Renvoie
0 en cas de succes, -1 sinon

Implémente FileImage.

int Jpeg2000Image::writeLine ( float *  buffer,
int  line 
)
inlinevirtual

Ecrit une ligne d'image JPEG2000, à partir d'un buffer de flottants.

Avertissement
Pas d'implémentation de l'écriture au format JPEG2000, retourne systématiquement une erreur
Paramètres
[in]buffersource des donnée de l'image à écrire
[in]lineligne de l'image à écrire
Renvoie
0 en cas de succes, -1 sinon

Implémente FileImage.


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