begin process at 2012 05 28 05:03:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

accés aux pixelx d'une image


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

accés aux pixelx d'une image

mardi 1 mars 2011 à 18:16:58 | accés aux pixelx d'une image

noussagh

Bonjour

je sais pas si je suis dans le bon thème pour ma question.j'aimerai savoir comment accéder aux pixels de mon image qui a été chargée avec OpenCv. je veux pas utiliser les fonctions de openCv je veux développer le code moi même.j'ai defini uchar * data = (uchar *)image_ref->imageData; . ce que je veux savoir est ce que data[i] correspond a la valeur du pixel sachant que mon image est en couleur.
en faite j'aimerai charger les pixels de mon image couleur dans un tableau pour pouvoir en faire une transformation est obtenir une image au niveau gris.
merci pour toute reponse :)
mercredi 2 mars 2011 à 08:47:02 | Re : accés aux pixelx d'une image

Pistol_Pete

Salut

Je n'ai jamais véritablement travaillé sur OpenCV, mais voici quelques remarques générales: data est un pointeur sur un tableau 1D ou sont stoker l'ensemble des pixels. Cependant, les pixels peuvent être de plusieurs type et le nombre de canaux peut aussi varier. En générale pour une image couleur, il y a 3 canaux R V B. Concrètement, si ton image est en 8 bits:
data[0] pixel 0 canal Bleu
data[1] pixel 0 canal Vert
data[2] pixel 0 canal Rouge
data[3] pixel 1 canal Bleu
...


A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
mercredi 2 mars 2011 à 12:22:51 | Re : accés aux pixelx d'une image

noussagh

Merci d'avoir pris la peine de me repondre :)
en faite j'ai suivi ce que tu m'as dit et j'ai rempli une matrice avec les composantes BGR de chaque pixel ( i = le numero du pixel et j la composante)
Code C/C++ :
	  k=0;
          for (i = 0; i < width*height; i+=1)
	  {
		  for (j=0;j<3;j+=1)
		  {
			  mat[i][j]=data[k];
			  printf("%d\t",mat[i][j] );
			  k=k+1;
			  
		  }
		  printf("\n");
	  }


bon j'ai une autre question , comment je determine la valeur du pixel a partir des trois composants, est ce que c'est la somme?
et pour transformer au niveau gris quelle formule utiliser:
* gris= (rouge+vert+bleu)\3
* gris= 0.299 * rouge+ 0.587*vert + 0.114*bleu
* gris = 0.2125 *rouge+ 0.7154*vert + 0.0721*bleu

merci
mercredi 2 mars 2011 à 12:34:24 | Re : accés aux pixelx d'une image

Pistol_Pete

Moi j'utilise souvent seconde méthode. (Rec601)

Sinon, c'est le bon principe, a partir des 3 composantes RGB, tu obtiens une valeur que tu attributs au pixel.

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
samedi 26 mars 2011 à 13:17:18 | Re : accés aux pixelx d'une image

raikko21

Salut a tous!!!

Apparemment tu as réussi a récupérer ta matrice de pixel, maintenant pour obtenir la matrice en niveau de gris ce que tu dois savoir c'est que ton pixel contient deux information la luminance (intensité lumineuse correspond au niveau de gris si tu veux) et la chrominance qui est en relation avec la fréquence(longueur d'onde c'est l'information de la couleur).
Bref, tu commence par calculer la luminance que tu as appeler gris par la formule, gris=(0.59*G+0.30*R+0.11*B). Maintenant il te suffit de remplir ta matrice avec les valeur de ton gris et tu la converti en image.

N.B:
1- Pour une image en noir est blanc (niveaux de gris) R=G=B=y; y est la luminance (ce que tu as appelé gris)
exemple: R=230; G=230; B=230 est un gris clair, R=G=B=20 est un gris fonce.....

2- la relation (0.59*G+0.30*R+0.11*B) a été calculée a partir de la courbe de sensibilité relative de l'½il.


Cette discussion est classée dans : image, pixels, opencv, accés, pixelx


Répondre à ce message

Sujets en rapport avec ce message

pixels d'une image couleur opencv [ par noussagh ] salut j'utilise opencv et j'aimerai savoir comment une image couleur est stockée dans la mémoire, est ce que c'est dans une matrice ? si c'est le cas comment récupérer un tableau des pixels d'un System::Drawing::Image [ par rgiud ] Bonjour, Je développe un programme de traitement d'image et cherche à récupérer sous la forme d'une structure ou un buffer les pixels d'un System::Dr OpenCv [ par pop70 ] Bonjour, ne connaissant pas bien OpenCv, je suis allé chercher un code afin de pouvoir récuperer un flux vidéo venant d'une webcam : [code=cpp]int m Acceder aux pixels de capCreateCaptureWindow [ par raikko21 ] Bonjour a tous, J'ai un petit problème, je m'explique j'ai fait une WindowsForm dans laquelle j'affiche ma webcam, maintenant j'ai envie de dessiner traitement d'image [ par bobob ] Bonsoir j'espere que quelqu'un pourra m'aider à résoudre mon problème qui me bloque depuis des jours :( je programme en C , j'ai chargé mon image a QT + openCV sous unix [ par wafafolla ] salut, Je suis en train de réaliser un projet sous unix en utilisant QT. Depuis quelques jours j'ai commencé à découvrir la bibliothèque de traitement traitement d'image avec opencv [ par amazber ] bonjour j'utilise la bibliotheque opencv est je cherche comment deplacer une parti d'une image (sous image (rectangle)) dans la meme image sachant qu traitement d'image sur Matlab [ par BillaEAS ] Bonjour à tous, Y'a t'il une méthode qui me permet de combiner qlqs pixels d'une image dans un seul pixel(sur Matlab),aussi de permettre récupérer ces


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales