IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenCV Discussion :

Normaliser une image Mat entre 0 et 1


Sujet :

OpenCV

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 13
    Points : 17
    Points
    17
    Par défaut Normaliser une image Mat entre 0 et 1
    Bonjour,

    Je viens de commencer à pratiquer opencv c++. Je vais normaliser une image entre 0 et 1.

    J'ai commencé par un exemple facile:
    Soit un vecteur 1D:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    unsigned char data[8]={200,200,4,255,4,255,5,255};
     
    Mat matr(1,8,CV_8UC1,&data)// les données est de type unsigned char
     
    Mat matrf(1,8,CV_32FC1);// les données est de type float.
     
    //Normaliser matr
    cout<<" matrf: = "<<matrf.type()<<endl;// vérification de type avant normalize. type =5 =CV_32FC1
     
     normalize(matr, matrf,0.0,1.0,NORM_MINMAX);
     
    cout<<" matrf: = "<<matrf<<endl;
     
    cout<<" matrf: = "<<matrf.type()<<endl;// vérification de type après  normalize. type=0=CV_8UC1
    Resultat:

    matrf: = [1, 1, 0, 1, 0, 1, 0, 1]// les valeurs doivent être de type float entre 0 et 1. Je dois avoir des valeurs comme 0.780876 (première valeur).
    Après une vérification j'ai vérifié le type de matrf après la normalize et après normalize. J'ai trouvé que le type de matrf prend le même type de matr! Alors quel l'intérêt de la déclaration de matrf et comment résoudre ce problème? Merci


  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur c++ junior
    Inscrit en
    Mai 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur c++ junior
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2013
    Messages : 35
    Points : 41
    Points
    41
    Par défaut
    Bonjour
    Essai ça
    normalize(matr, matrf,0.0,1.0,NORM_MINMAX, CV_32FC1);

    Sinon tu peux faire ça aussi

    matr.convertTo(matrf, CV_32FC1, 1.0/255.0);
    Voilà

Discussions similaires

  1. Normaliser une image
    Par mqsi dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 11/03/2020, 12h54
  2. normaliser une image au niveau de gris (pgm,dcm,.)
    Par ganigani dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 19/05/2011, 20h57
  3. Normaliser une image couleur RVB
    Par shakoulé dans le forum OpenCV
    Réponses: 2
    Dernier message: 15/07/2009, 15h37
  4. enregister une image .mat
    Par kaiseresis dans le forum Images
    Réponses: 1
    Dernier message: 26/06/2008, 13h30
  5. Mesure distance entre 2 points d'une image
    Par vexal dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/05/2005, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo