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

Manipulation d'une image JPEG2000, avec la librarie openjpeg. Plus de détails...

#include <LibopenjpegImage.h>

Graphe d'héritage de LibopenjpegImage:
Inheritance graph
Graphe de collaboration de LibopenjpegImage:
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.
 ~LibopenjpegImage ()
 Destructeur par défaut.
void print ()
 Sortie des informations sur l'image JPEG2000.
- Fonctions membres publiques inherited from Jpeg2000Image
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.
- 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 publiques statiques

static bool canRead (int bps, SampleFormat::eSampleFormat sf)
static bool canWrite (int bps, SampleFormat::eSampleFormat sf)

Fonctions membres protégées

 LibopenjpegImage (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, opj_image_t *jp2ptr)
 Crée un objet LibopenjpegImage à partir de tous ses éléments constitutifs.
- Fonctions membres protégées inherited from 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)
 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.

Fonctions membres privées

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

Attributs privés

opj_image_t * jp2image
 Stockage de l'image entière, décompressée.

Amis

class LibopenjpegImageFactory

Additional Inherited Members

- 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, avec la librarie openjpeg.

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. La librairie utilisée est openjpeg (open source et intégrée statiquement dans le projet ROK4).

A faire:
Lire au fur et à mesure l'image JPEG2000 et ne pas la charger intégralement en mémoire lors de la création de l'objet LibopenjpegImage.

Documentation des constructeurs et destructeur

LibopenjpegImage::LibopenjpegImage ( 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,
opj_image_t *  jp2ptr 
)
protected

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

Ce constructeur est protégé afin de n'être appelé que par l'usine LibopenjpegImageFactory, 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
[in]jp2ptrpointeur vers l'image JPEG2000
LibopenjpegImage::~LibopenjpegImage ( )
inline

Destructeur par défaut.

Suppression du buffer de lecture #m_data

Documentation des fonctions membres

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

Retourne une ligne, flottante ou entière.

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
int LibopenjpegImage::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 Jpeg2000Image.

Voici le graphe des appelants de cette fonction :

int LibopenjpegImage::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 Jpeg2000Image.

Voici le graphe d'appel pour cette fonction :

int LibopenjpegImage::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 Jpeg2000Image.

Voici le graphe d'appel pour cette fonction :


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