Révision – Fonction OpenCV Section 1 – Ouverture, sauvegarde de

Révision – Fonction OpenCV
Section 1 – Ouverture, sauvegarde de fichier
1.1 Ouverture de fichier
La fonction cvLoadImage charge une image à partir du fichier spécifié et retourne un pointeur sur l'image
chargée.
Syntaxe : IplImage *cvLoadImage( const char* NomFichier, int Couleur=CV_LOAD_IMAGE_COLOR)
Paramètres :
const char *NomFichier : Nom du fichier à charger.
int Couleur : Spécifie si l'image sera chargée en couleur ou en ton de gris.
Les valeurs sont définies par les constantes suivantes :
Nom de la constante
Valeu
r
Description
CV_LOAD_IMAGE_COLOR
1
Charge l'image en utilisant 3 canaux(rouge, vert,
bleu)
CV_LOAD_IMAGE_GRAYSCALE
0
Charge l'image en ton de gris
Les formats supportés sont les suivants:
Windows bitmaps - BMP, DIB;
JPEG files - JPEG, JPG, JPE;
Portable Network Graphics - PNG;
Portable image format - PBM, PGM, PPM;
Sun rasters - SR, RAS;
Fichiers TIFF – TIFF, TIF.
1.2 Sauvegarde de fichier
Cette fonction sauvegarde l'image dans le fichier spécifié. Le format de l'image est choisi en fonction du nom de
l'extension. Seulement des images de 8 bits (Canal simple) ou des images avec 3 canaux (avec le format BGR)
peuvent être sauvegardées avec cette fonction. Si le format diffère des 2 précédents, l'image peut être
convertie avec la fonction cvCvtScale et cvCvtColor. On peut aussi utiliser la fonction universelle cvSave pour
sauvegarder l'image en format XML ou YAML.
Syntaxe:
int cvSaveImage( const char* filename, const CvArr* image );
Paramètres:
const char *filename : Nom du fichier à sauvegarder.
const CvArr *image : L'image à sauvegarder.
1.3 Affichage d'une image
Syntaxe : void cvShowImage( const char* name, const CvArr* image)
Description : Cette fonction affiche l'image contenu dans le 2e paramètre dans une fenêtre préalablement créée à l'aide de la
fonction cvNamedWindow. Le nom de la fenêtre se situe dans le 1er paramètre.
Paramètres :
const char* name : Chaine de caractère contenant le nom de la fenêtre
const CvArr* image : L'image à faire afficher.
Exemple :
cvNamedWindow( ''Exemple'', 1 );
IplImage* img = cvLoadImage( ''image.jpg'');
Exemple :
#include <cv.h>
#include <highgui.h>
int main()
{
const char *NomFichierSource = ''image.jpg'';
const char *NomFichierResultat = ''imageresultat.jpg'';
IplImage *ImgSource, *ImgResultat;
ImgSource = cvLoadImage(NomFichier, CV_LOAD_IMAGE_COLOR);
//Traitement et autres...
cvSaveImage(NomFichierResultat, ImgResultat);
}
cvShowImage( ''Exemple'', img );
Section 2 – Traitement d'image
1 Adoucissement (Élimination du bruit)
Syntaxe : void cvSmooth(const CvArr* src, CvArr* dst, int smoothtype = CV_GAUSSIAN, int param1 = 3 )
Paramètres :
cvArr *src : L'image source à traiter.
cvArr *dst : L'image du résultat après le traitement.
int smoothtype : Le type de convolution désirée. Ici le défaut est CV_GAUSSIAN
int param1 : La 1ère dimension de la matrice. Ce paramètre vaut 3 pour une matrice 3x3.
Int param2 : La 2e dimension de la matrice. Ce paramètre vaut 3 pour une matrice 3x33.
Exemple :
IplImage *Src, IplImage *Dst;
Src = cvLoadImage(« img.jpg »);
cvSmooth(Src, Dst, CV_BLUR);
// Ou aussi : cvSmooth(Src, Dst, CV_GAUSSIAN, 5,5); Applique une matrice 5x5.
2 Renforcement des contours
Syntaxe : cvSobel(const CvArr* src, CvArr* dst, int xorder, int yorder, int aperture_size = 3)
paramètres :
cvArr *Isrc : L'image source à traiter.
cvArr *dst : L'image résultat après le traitement. (Doit être de type IPL_DEPTH_16S)
int xorder : Une valeur de 1 dans ce paramètre indique que l'on va renforcer les contours
verticaux.
int yorder : Une valeur de 1 dans ce paramètre indique que l'on va renforcer les contours
horizontaux.
int aperture_size : La dimension de la matrice. Les valeurs possibles sont 1,3,5,7 seulement
Exemple :
IplImage *Src = cvLoadImage(« img.jpg », 0);
//Création d'image temporaire pour récupérer les valeurs sur 2 octets.
IplImage *Dest = cvCreateImage(cvGetSize(Src),IPL_DEPTH_16S,1);
IplImage *Dest_img = cvCreateImage(cvGetSize(Src), IPL_DEPTH_8U,1);
cvSobel( Src, Dest, 1, 0, 3);
// On doit reconvertir l'image dans un format de 1 octet par pixel
cvConvertScaleAbs( Dest, Dest_img, 1, 0);
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!