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

Traitement d'images Discussion :

Étirement d'un histogramme


Sujet :

Traitement d'images

  1. #1
    Candidat au Club
    Homme Profil pro
    teecom
    Inscrit en
    Janvier 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Algérie

    Informations professionnelles :
    Activité : teecom
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2022
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Étirement d'un histogramme
    salut, j'ai une question svp

    Une photo radiographique est généralement une image en niveaux de gris. elle a
    souvent un faible contraste et de faibles intensités de niveaux de gris, c’est-à-dire que toutes les valeurs d’intensité
    sont dans la plage de [a, b], où a et b sont des nombres entiers positifs, bien inférieurs à la valeur d’intensité maximale
    255 s’il s’agit d’une image 8 bits. Afin d’améliorer l’apparence de cette image, une simple opération "d’étirement"
    peut être utilisée pour convertir toutes les valeurs d’intensité d’origine

    f0 en f : f = (255/b-a)*(fo-a) = T(i) = [Max/(Imax-Imin)]*(i-Imin)

    • Si la valeur DC pour l’image originale f0 est m, quelle est la valeur DC pour l’image étirée f ?
    • Si l’une des valeurs AC F0(2, 1) pour l’image originale f0 est n, quelle est la valeur F(2, 1) pour l’image étirée f ?

  2. #2
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Étirement d'un histogramme
    Bonjour,

    La finalité du procédé visant à étendre la répartition des teintes sur la totalité de la plage disponible [0 ; 255] est bien exprimée; par contre je n'ai pas bien compris la fin du calcul.
    Le niveau de gris étant initialement confiné au domaine [a ; b]: a ≤ g ≤ b
    il est possible d'en déduire une nouvelle valeur (g') par une simple relation de proportionnalité:
    (g' - 0)/(255 - 0) = (g - a)/(b - a) , d'où: g' = 255(g - a)/(b - a) .

    On vérifie aisément pour la fonction obtenue g' = F(g) les cas limites: F(a) = 0 ; F(b) = 255 .

    Il n'est pas certain que le procédé permette un meilleure observation des détails; l'intervention d'une fonction non-linéaire, une conversion appropriée du gris en couleurs permettraient peut-être d'améliorer le contraste. Disposes-tu d'images à examiner ?


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  3. #3
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 317
    Points : 4 124
    Points
    4 124
    Par défaut Consommer local
    Bonjour,

    Les trois images suivantes sont, dans l'ordre, l'original, l'étiré de 0 à 255, l'étiré localement.

    Nom : radio.jpg
Affichages : 629
Taille : 3,4 Ko Nom : radio  étiré.jpg
Affichages : 625
Taille : 6,6 Ko Nom : radio étiré local.jpg
Affichages : 618
Taille : 7,4 Ko
    Comme le disait wiwaxia, étirer apporte un peu de lisibilité sans être très génial. Par ailleurs, dans le cas d'images très peu contrastées, l'étirement va créer des artefacts en faisant apparaître des liserés. En effet l'algorithme distribue les niveaux initiaux dans un domaine plus grand (0..255). Il y a donc des trous dans l'histogramme résultant en des marches d'escalier de luminosité d'autant plus visibles que le nombre initial est faible (i.e. faible contraste).

    La correction locale utilisée ici s'appuie sur des histogrammes par ligne et par colonne. La correction affectée à un point dépend des deux histogrammes concernés (il y a quand même une pondération avec les corrections voisines).
    Il y a d'autres corrections locales possibles (l'idéal serait sans doute un histogramme d'un cercle centré sur chaque point avec pondération radiale mais je n'ose penser au temps de traitement). Toutes reposent sur la notion d'environnement de chaque point. Ca ressemble à du HDR mono image.

    Je peux traiter une des images concernées à titre de démonstration (là c'est une image trouvée sur internet).

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  4. #4
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Étirement d'un histogramme
    Bonjour,

    Les solutions proposées sont intéressantes. Il semble d'après cela que l'obtention d'un meilleur contraste passe par un traitement local de l'image.

    Voici néanmoins ce que l'on obtient à l'aide d'une fonction non linéaire, résultant du raccordement de deux monômes de degré 4, et continue ainsi que sa dérivée première au point de raccordement:

    Nom : Original+g=360_300_240.png
Affichages : 631
Taille : 107,1 Ko

    Les 3 images ne diffèrent que pas l'abscisse du point de raccordement: L3 = (3 * 120) , (3 * 100) , (3 * 80) .

    Le niveau de gris correspond ici à la somme des 3 indices de couleur: s = r + v + b = 3g:
    deux cas se présentent dans le calcul:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI (s<L3) ALORS t = s^4/L3^3          // M3 = 3*255
              SINON t = M3 - (M3 - s)^4/(M3 - L3)^3
    niveau de gris final: g' = Round(t/3) .
    Comme on pouvait s'y attendre, les détails tendent à s'estomper dans la zone la plus lumineuse.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  5. #5
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 317
    Points : 4 124
    Points
    4 124
    Par défaut Pourquoi remettre à demain ce qu'on peut remettre à la semaine prochaine ?
    Bonjour wiwaxia,

    Citation Envoyé par wiwaxia Voir le message
    ...Voici néanmoins ce que l'on obtient à l'aide d'une fonction non linéaire, résultant du raccordement de deux monômes de degré 4, et continue ainsi que sa dérivée première au point de raccordement:

    Le niveau de gris correspond ici à la somme des 3 indices de couleur: s = r + v + b = 3g:
    deux cas se présentent dans le calcul:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI (s<L3) ALORS t = s^4/L3^3
              SINON t = M3 - (M3 - s)^4/(M3 - L3)^3
    niveau de gris final: g' = Round(t/3) .
    La deuxième transformation me semble la plus intéressante

    Je présume que tu travailles avec une LUT de 256*3 valeurs pour limiter la charge de calcul. Peut être même avec une diffusion d'erreur (l'arrondi) type Floyd-Steinberg (ce qui nécessite un second tableau).

    Comme je travaillais en couleur et que je ne voulais pas de virage coloré, les histogrammes se composent des composantes min et max de chaque couleur (deux valeurs par pixel). L'avantage d'un histogramme est de ne pas être obligé de prendre les extrêmes qui réduisent la sensibilité à un seul point noir ou blanc. Cela permet de prendre une valeur mini ou maxi qui regroupe au moins x% des pixels. Bien sûr, cela peut provoquer des virages par écrêtage mais si x est faible, ils seront très peu visibles dans les blancs et les noirs

    Ton approche m'a incité à regarder mon code (assez ancien) pour savoir si je travaillais seulement en linéaire (ce qui est le cas) ou si je rééquilibrais la valeur médiane (ordre 2 à l'horizon). Ca pourrait être intéressant mais je n'arrive déjà pas à me décider à porter ce vieux code de 32 bits en 64 bits et de MMX à SSE...

    C'est peut être le moment.

    Salut
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  6. #6
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Étirement d'un histogramme
    Bonjour Guesset,

    Voici le graphe de la fonction de correspondance g' = F(g) employée lors de la transformation de l'image, et correspondant au dernier essai (Limite = 80):

    Nom : Graphe g = F(x).png
Affichages : 598
Taille : 9,5 Ko

    Sa forme est assez sommaire; on aurait pu envisager
    # un exposant plus élevé (n = 6 ou 8) conduisant à une plus forte pente,
    # un binôme se caractérisant par un point d'inflexion (F"(L1) = 0) au voisinage du raccordement des deux morceaux, par exemple:
    P(u) = (14 - 3u4).u4/11 ,
    mais cela relève d'une recherche purement formelle.

    Pour en revenir à l'image de plus fort contraste (L3 = 3.L1 = 240)

    Nom : 3g=240_x2.png
Affichages : 594
Taille : 101,4 Ko

    la rotule apparaît insuffisamment éclairée, et plus encore les zones sombres environnantes sur la gauche, tandis qu'un excès de lumière sature les images des extrémités des os longs, et tend à en estomper les détails.
    Il faudrait donc atténuer les plus forts éclairements, renforcer les éclairements moyens tout en maintenant les zones les plus sombres, dépourvues de toute information picturale.
    On peut envisager des fonctions à deux paramètres, dont les précédentes constituaient un cas particulier, et dont une famille est représentée par le faisceau de graphes ci-dessous (L1 = 80):

    Nom : Faisceau de courbes.png
Affichages : 600
Taille : 15,1 Ko


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  7. #7
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Étirement d'un histogramme
    Citation Envoyé par Guesset Voir le message
    ... Je présume que tu travailles avec une LUT de 256*3 valeurs pour limiter la charge de calcul ...
    Non, parce que je me suis focalisé sur la recherche de la fonction la plus appropriée, et que la seconde image apparaît assez rapidement.
    Tu as cependant entièrement raison: les petites images proposées présentent déjà plus de 50000 pixels. Cela conduit à envisager le recours aux pointeurs, que je n'utilise pas volontiers.

    Citation Envoyé par Guesset Voir le message
    ... Peut être même avec une diffusion d'erreur (l'arrondi) type Floyd-Steinberg (ce qui nécessite un second tableau) ...
    Là, tu exagères ! L'erreur d'arrondi résultant de la division euclidienne par 3 (soit ±1/3) est très faible et reste en-dessous du seuil de sensibilité de l'œil; de plus ... le calcul s'arrête là. Rien de commun avec le cumul d'erreurs résultant de la réduction du nombre de couleurs - à moins que le sens de ta remarque ne m'échappe totalement.
    Et s'il faut absolument supprimer toute dérive du calcul, rien n'interdit d'ajouter ou de retrancher (1) à l'une des composantes du nouveau pixel - si possible la plus forte ou la plus faible.

    Citation Envoyé par Guesset Voir le message
    ... L'avantage d'un histogramme est de ne pas être obligé de prendre les extrêmes qui réduisent la sensibilité à un seul point noir ou blanc. Cela permet de prendre une valeur mini ou maxi qui regroupe au moins x% des pixels. Bien sûr, cela peut provoquer des virages par écrêtage mais si x est faible, ils seront très peu visibles dans les blancs et les noirs ...
    J'avais effectivement songé à éliminer des pixels de plus faible clarté (5 à 15 % ?), dépourvus de valeur informative, pour obtenir un intervalle plus étroit
    [a' ; b], avec a' > a .
    La fonction utilisée, qui tend à réduire les gris les plus sombres à zéro, se charge en quelque sorte du travail.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  8. #8
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 317
    Points : 4 124
    Points
    4 124
    Par défaut Trop ?
    Bonjour wiwaxia,

    Merci pour tes courbes. Je pense que L1 a des chances d'être le plus efficace quand il tombe pile poil sur la valeur médiane (mais je n'ai pas concrètement vérifié).

    Citation Envoyé par wiwaxia Voir le message
    ...Là, tu exagères ! L'erreur d'arrondi résultant de la division euclidienne par 3 (soit ±1/3) est très faible et reste en-dessous du seuil de sensibilité de l'œil; de plus ... le calcul s'arrête là. Rien de commun avec le cumul d'erreurs résultant de la réduction du nombre de couleurs - à moins que le sens de ta remarque ne m'échappe totalement.
    Et s'il faut absolument supprimer toute dérive du calcul, rien n'interdit d'ajouter ou de retrancher (1) à l'une des composantes du nouveau pixel - si possible la plus forte ou la plus faible...
    Peut être un peu . Mais comme c'est un algorithme simple (assez proche de ce que tu proposes), il peut être tentant de l'utiliser. Pas tellement pour l'aspect visuel mais par une moindre discrétisation de l'histogramme résultant (lissage apparent des marches d'escalier éventuelles). Toutes les erreurs ne sont pas des fautes

    Je me demande si nous n'avons pas perdu le PO ?

    Salut
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  9. #9
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 317
    Points : 4 124
    Points
    4 124
    Par défaut Décalage
    Bonjour,

    Je crois que la correction non linéaire proposée pâtit du point fixe que représente L1 (ou L3). Comme les valeurs avant L1 sont atténuées, il y aura perte de niveaux (on voit une absorption par les noirs).

    On peut décaler cela au milieu de l'histogramme (je présume que M3 est le max de la somme des 3 composantes).

    Par exemple, sauf erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI (s<L3) ALORS t = 127.5*3 * (s/L3)^4
            SINON t = 255*3 - 127.5*3 * ((M3 - s)/(M3 - L3))^4
    niveau de gris final: g' = Round(t/3) .
    Comme le facteur 3 est partout on peut simplifier (mais avec une LUT c'est juste pour faire beau) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI (s<L3) ALORS t = 127.5 * (s/L3)^4
            SINON t = 255 - 127.5 * ((M3 - s)/(M3 - L3))^4
    niveau de gris final: g' = Round(t)
    Cela devrait mieux exploiter la solution de wiwaxia. Il Faut néanmoins éviter que L1 (L3) soit supérieur à 127.5 car cela réduirai le nombre de valeurs avant L1 (L3) dans le rapport 127.5/L1. Mais dans une image faiblement contrastée avec un vrai noir cela ne devrait pas se produire car L1 (ou L3) optimal devrait être prêt de la médiane. Sinon, il faut changer de formule en partant des valeurs hautes : une double inversion (s -> 255*3 - s, t _> t - 255) me plairait bien.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  10. #10
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Étirement d'un histogramme
    Bonjour,

    J'ai voulu regarder de plus près la distribution des niveaux de gris et, faute de données disponibles sur le logiciel de traitement d'images - IrfanView, dont je suis loin de connaître toutes les ressources - j'ai programmé l'affichage de l'histogramme et le calcul des quartiles par le repérage des sommes cumulées successives encadrant la fraction de la somme totale:
    Scum[i] ≤ Stot*(k/4) < Scum[i + 1] avec k = 1 (pour Q1), 3 (pour Q3) ou 2 (dans le cas de la médiane).

    Nom : Histogramme_0_255.png
Affichages : 572
Taille : 156,3 Ko
    Nom : Résultats_Q1_Md_Q3.png
Affichages : 579
Taille : 31,1 Ko

    Cela donne une indication précise de la répartition des valeurs:
    Gmin = 1 ; Gmax= 250; Q1 = 30 ; Med = 76 .

    Il ressort de l'examen des images précédemment obtenues qu'il faut augmenter la luminance des zones de clarté moyenne ou forte, qui seules contiennent des détails anatomiques; l'éclairement des zones les plus sombres peut être brutalement ramené à zéro sans perte d'information picturale, ce qui permet d'augmenter le contraste de l'ensemble.

    D'où deux séries d'images correspondant à diverses valeurs du seuil de gris:
    Lim = 30 ,50 , 70 , 90
    situées comme tu l'avais pressenti pas très loin de la médiane.

    Les deux fonctions font intervenir le paramètre p = (s-L3)/(Smax - L3))
    calculé à partie de la somme des indices de couleur: s = r + v + b
    et de sa limite inférieure L3 = 3 * LIm ;
    on obtient à partir de là:
    Couleur_A = = Round(255*p1/2) ; Couleur_B = = Round(255*(p*(2-p))1/2) .

    Nom : A_Lim=30_50_70_90.png
Affichages : 559
Taille : 88,6 Ko
    Nom : B_Lim=30_50_70_90.png
Affichages : 574
Taille : 92,1 Ko

    Reste à savoir dans quelle série un radiologue peut observer le plus de détails utiles; une combinaison des deux fonctions précédentes conduisant à des valeurs intermédiaires, par exemple:
    qA = p1/2 , qB = (p*(2-p))1/2 , Couleur_C(λ) = Round(255 * (λ * qA + (1 - λ)*qB)) .
    peut se révéler intéressante.
    Code Pascal : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     CONST M3 = 255;         Smax = 3 * 250;
           Lim = 90;         L3 = 3 * Lim;
           Delta = Smax- L3; I_Delta = 1 / Delta;
     
    ... / ...
     
     FUNCTION Couleur_00(Px1: Pixel): Pixel;
       VAR g, j: Byte; s:Z_32; p, q: Reel; Px2: Pixel;
       BEGIN
         s:= Px1[1]; FOR j:= 2 TO 3 DO Inc(s, Px1[j]);
         IF (s>L3) THEN BEGIN
                          p:= I_Delta * (s - L3); q:= Sqrt(p);
                          g:= Round(255 * q)
                        END
                   ELSE g:= 0;
         FOR j:= 1 TO 3 DO Px2[j]:= g;
         Result:= Px2
       END;
     
     FUNCTION Couleur(Px1: Pixel): Pixel;
       VAR g, j: Byte; s:Z_32; p, q: Reel; Px2: Pixel;
       BEGIN
         s:= Px1[1]; FOR j:= 2 TO 3 DO Inc(s, Px1[j]);
         IF (s>L3) THEN BEGIN
                          p:= I_Delta * (s - L3); q:= Sqrt(p * (2 - p));
                          g:= Round(255 * q)
                        END
                   ELSE g:= 0;
         FOR j:= 1 TO 3 DO Px2[j]:= g;
         Result:= Px2
       END;
    Citation Envoyé par Guesset Voir le message
    ... / ... Je me demande si nous n'avons pas perdu le PO ? ...
    Malheureusement, c'est bien possible


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  11. #11
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 317
    Points : 4 124
    Points
    4 124
    Par défaut
    Bonjour Wiwaxia,

    La première image de la deuxième ligne me paraît bien. Elle augmente sensiblement le contraste sans manger de contour. Mais comme tu l'écris, il faudrait les montrer à un professionnel pour savoir si nous n'altérons pas la lecture.

    Joli travail.

    Je n'utilise plus Irfan View depuis longtemps car je me suis laissé attiré par la facilité (Fatstone Image Viewer) mais c'est vrai que sous ses allures un peu brutes, Irfan View recélait des fonctions qui n'existent pas ailleurs.

    Bon weekend
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

Discussions similaires

  1. Étirement d'un histogramme
    Par spring.time dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 03/01/2012, 16h47
  2. [CR8.5] Graphique : comment mélanger histogramme et ligne ?
    Par kiki26 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 18/01/2005, 16h28
  3. TChart et histogramme
    Par coucoucmoi dans le forum Composants VCL
    Réponses: 8
    Dernier message: 30/08/2004, 17h10
  4. Questions sur chartfx (histogramme)
    Par lejert dans le forum C++Builder
    Réponses: 2
    Dernier message: 20/01/2004, 14h54
  5. [TChart] comment remplir un histogramme avec du rouge strié.
    Par :GREG: dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/08/2002, 10h37

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