Précédent   Forum des professionnels en informatique > Environnements de développement > MATLAB > Images
Images Forum d'entraide sur le traitement d'images en MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2012, 12h40   #1
Membre du Club
 
Avatar de miss_angel
 
Inscription : février 2008
Messages : 167
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 167
Points : 52
Points : 52
Par défaut Convertir la fonction rgb2hsv.m en C++

Bonjour à tous

Tout est écrit dans le titre

Voici ma version de conversion:
Code C++ :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
void rgb_to_hsv(int r, int g, int b, float *h, float *s, float *v)
{
   float min, max, delta, rc, gc, bc;
 
   rc = (float)r / 255.0;
   gc = (float)g / 255.0;
   bc = (float)b / 255.0;
   max = MAX(rc, MAX(gc, bc)); 
   min = MIN(rc, MIN(gc, bc)); 
   delta = max - min;
 
   *v = max;
 
   if (max != 0.0)
      *s =  delta / max;
   else
      *s = 0.0;
 
   if (*s == 0.0) {
      *h = 0.0; 
   }
   else {
      if (rc == max)
	 *h =  (gc - bc) / delta;
      else if (gc == max)
	 *h = 2 + (bc - rc) / delta; 
      else if (bc == max)
	 *h = 4 + (rc - gc) / delta;
 
 
  *h = *h / 6;
  if (*h < 0)
      *h = *h + 1;
 
    }
 
}
Le problème c'est que j'obtiens pas les même valeur de H, S et V avec ma version convertie en C++...du coup je pense j'ai mal interprété une ligne

Merci d'avance
miss_angel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 14h28   #2
Membre confirmé
 
Homme Thomas Pegot
Étudiant
Inscription : janvier 2012
Messages : 195
Détails du profil
Informations personnelles :
Nom : Homme Thomas Pegot
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2012
Messages : 195
Points : 299
Points : 299
Bonjour,

Personnellement je ne vois pas de différence avec ma version de matlab ( $Revision: 5.15.4.3 $ $Date: 2010/08/23 23:13:14 $).
Qu'elle est ta version de rgb2hsv.m?

Logiquement le problème qui peut arriver est l'échelle des teintes ([0,240] (Paint) ou [0,360](Photoshop) ou [0,1](matlab pour ma version)).
Gakusei est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h55.


 
 
 
 
Partenaires

Hébergement Web