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 :

Récupérer la valeur d'un pixel d'une image en couleur RVB sous forme de matrice


Sujet :

OpenCV

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 310
    Points : 133
    Points
    133
    Par défaut Récupérer la valeur d'un pixel d'une image en couleur RVB sous forme de matrice
    Bonjour à la communauté!
    J'utilise la biblioyhèque OpenCV pour manipuler des images(en couleur RVB).

    J'ai une difficulté quant à la récupération de la valeur de tous les pixels de l'image.
    voici ce que j'ai pour le moment:
    I:valeur d'un pixel en une position donnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      i=0; //ligne 0
      j=0; //colonne 0
      img=cvLoadImage("1.jpg",1);
      pixel=cvGet2D(img,i,j); //lecture du pixel ligne 10 colonne 25
      //pixel=cvGet2D(img,1,1);
     
      printf("valeur du pixel bleu:%f\n",pixel.val[0]); //valeur du pixel bleu
      printf("valeur du pixel vert:%f\n",pixel.val[1]); //valeur du pixel bleu
      printf("valeur du pixel rouge:%f\n",pixel.val[2]); //valeur du pixel bleu
    à ce niveau ,j'aimerai savoir si la valeur du pixel à la position (0,0) est som1pixel.val[0]+pixel.val[1]+pixel.val[2]

    II:valeur de chaque pixel de l'image

    pour récuperer tous les pixel de l'image sous la forme de matice je fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for(i=0;i<height;i++){
      	for(j=0;j<width;j++){
      		pixel=cvGet2D(img,i,j);
      		//printf("valeur du pixel bleu:%f\n",pixel.val[0]);
      		som2=pixel.val[0]+pixel.val[1]+pixel.val[2];
      		fprintf(fic_image,"%f",som2);
      	}	
    
      }
    je constate que som1 est different de som2


    J'aimerai donc avoir un coup de main

  2. #2
    Membre régulier Avatar de xtra.creativity
    Développeur informatique
    Inscrit en
    Mars 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2007
    Messages : 108
    Points : 84
    Points
    84
    Par défaut
    moi j'aime bien utiliser :

    int channel = "Image"->channel ;
    int width = "Image"->width ;

    "Image"->imageData[y*width *channel +x *channel +0 ] R
    "Image"->imageData[y*width *channel +x *channel +1 ] V
    "Image"->imageData[y*width *channel +x *channel +2 ] B


    Mais bon ....

Discussions similaires

  1. Extraire la valeur d'un pixel d'une image
    Par IAzgardI dans le forum Débuter
    Réponses: 6
    Dernier message: 13/10/2013, 20h06
  2. Réponses: 0
    Dernier message: 24/03/2011, 15h26
  3. Réponses: 0
    Dernier message: 01/03/2011, 17h35
  4. Récupérer les coordonnées d'un pixel dans une image
    Par amine52002 dans le forum Langage
    Réponses: 1
    Dernier message: 30/06/2008, 14h52
  5. Valeur d'un pixel d'une image> 255
    Par dasou dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/04/2007, 10h51

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