|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 | ||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Il suffit d'appliquer les formules de calcul de moyenne/variance sur les distributions marginales
Code java :
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||
|
00
|
|
|
#22 |
|
Futur Membre du Club
![]() Inscription : octobre 2006 Messages : 58 ![]() |
Bonjour,
Je te remercie pseudocode. Je sais comment calculer mux et muy et également les variances sigmax et sigmay. Par contre, je voudrais savoir une chose. Pour une matrice quelconque, on a d'une part mux et d'autre part muy. Mais comment faut il faire pour avoir une seule valeur pour la moyenne à partir de la matrice de cooccurrence d'une matrique quelconque (non symétrique)? En ce qui concerne l'unique valeur de la variance, il n'y a pas de problèmes puisqu'elle se calcule à partir d'une unique valeur de moyenne mais justement comment avoir cette unique moyenne. Sinon, j'ai pensé à faire (mux+muy)/2 pour obtenir cette moyenne mais je ne sais si on peut le faire comme ça. Je vous remercie par avance |
|
|
00
|
|
|
#23 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Quand a avoir une moyenne "globale" a partir de mu_i et mu_j, c'est à toi de voir ce que tu cherches a calculer. Effectivement, prendre la moyenne arithmétique me semble pas mal.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#24 | ||
|
Futur Membre du Club
![]() Inscription : octobre 2006 Messages : 58 ![]() |
Bonjour,
Ok, pseudocode je pense que je vais plûtot prendre la valeur arithmétique. Mais, du coup je trouve curieux que ToTo13 considère que toutes les matrices de cooccurrence que génèrera son programme seront symétrique car en générale, une matrice de cooccurrence d'une image quelconque a peu de chance d'être symétrique. Sinon, moi je voudrais calculer un maximum de paramètre à partir d'une matrice de cooccurrence afin de pouvoir discriminer une image naturelle d'une image de synthèse. Pour l'instant, j'ai la moyenne définit comme (mux+muy)/2, la variance définit par (sigmax+sigmay)/2 (toujours car je considère des matrices de cooccurrences quelconques) et maintenant, je viens de faire le cacul de la correlation. J'ai utilisé le code suivant sous scilab seulement pour la direction 0 de la matrice de cooccurrence et je considère que cette matrice contient 6 niveaux de gris (pour l'instant pour faire des tests): Je définis la matrice A=[1,5,1;5,1,5;1,5,1]. Code :
J'obtiens donc un résultat négatif, est ce normal? Sinon pour les moyenne et variance y1 et y2 j'obtiens 4. La variance mesurant le degré de variation des valeurs, cela me semble correcte. Par contre, pour la moyenne j'ai un doute car cela voudrait dire que le niveau de gris utilisé est en moyenne 4, ce qui n'est pas le cas dans la matrice A. Je vous remercie d'avance |
||
|
|
00
|
|
|
#25 | ||||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Code :
Citation:
Pour la moyenne, il faut voir que dans ton calcul tu ne prends que 6 paires de pixels pour calculer ta matrice. La moyenne est donc différente de la moyenne arithmétique des 9 valeurs de départ.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||||
|
00
|
|
|
#26 | ||||
|
Futur Membre du Club
![]() Inscription : octobre 2006 Messages : 58 ![]() |
Bonjour,
Merci pseudocode. J'ai compris pourquoi il y avait un problème par rapport à ma moyenne. Car dans ma matrice de cooccurrence de 6 niveaux de gris, c'est en fait une matrice de cooccurrence de 5 niveaux de gris en prenant en compte le niveau de gris 0. Or, en scilab on ne peut pas appeller le tout premier élément d'une matrice avec M(0,0), on est obligé de faire M(1,1). Du coup, dans mon calcul de moyenne je dois pas mettre "moyi=moyi+i*S0norme(i,j);" mais"moyi=moyi+(i-1)*S0norme(i,j);" afin de prendre en compte le niveau de gris 0. Sinon, par rapport au fait que ToTo13 fait directement une matrice symétrique pour obtenir la matrice de cooccurence pour la direction horizontale par exemple, j'aurais une question. Moi, au départ pour obtenir une matrice de cooccurence avec la direction horizontale, une fois que j'ai la matrice pour l'angle 0°, je déduisais la matrice pour 180° en prenant la transposé et ensuite j'additionnais ces deux matrice et je divisais par 2, comme on peut le voir dans le code suivant: S0 était la matrice finale non normalisé (en fait elle était déjà symétrique). Code :
Code :
Car moi, en divisant la matrice de ToTo13, je retrouve exactement S0 de mon calcul précédent. Sinon, j'aurais une autre question, que traduit la corrélation sur une image au juste? Je vous remercie par avance |
||||
|
|
00
|
|
|
#27 | ||||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Code :
Citation:
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||||
|
00
|
|
|
#28 |
|
Futur Membre du Club
![]() Inscription : octobre 2006 Messages : 58 ![]() |
Bonjour,
Je te remercie pseudocode. J'aurais aussi besoin de m'intéresser à la classification maintenant que le travail sur les paramètres est en train de se terminer. On m'a dit qu'il existe une multitude de méthodes de classification. Pourrais je savoir si tu peux me diriger vers des sites qui parlerait de la classification dont j'ai besoin. Car en allant sur google scholar je trouve vraiment de tout car il existe une multitude de méthodes. Connaitrais tu une/des méthodes de classification qui pourrait m'orienter vers ce dont j'ai besoin, la discrimination des images naturelles et des images de synthèse? Je vous remercie d'avance |
|
|
00
|
|
|
#29 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 788 ![]() |
Bonjour,
oula... y eut du débat (j'ai encore fait des bêtises ?)Justes une petite remarque concernant la/les méthodes de caractérisation. D'après les tests que j'ai réalisé et les différents articles que j'ai lu, les Run Length Matrix (GLRLM) donnent de meilleurs résultats pour le classement d'images quelconques. Même si c'est une méthode moins connue, elle semble plus efficace dans la majorité des cas (sauf dans ma thèse Pour tout ce qui est méthode de classement, ouvre donc une discussion dans le forum IA.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#30 |
|
Futur Membre du Club
![]() Inscription : octobre 2006 Messages : 58 ![]() |
Bonjour,
J'aimerais avoir des précisions sur ce que calcule vraiment la corrélation. J'ai un peu de mal à interpréter cette formule. Je sais que: Ce paramètre vaut 1 dans le cas où l'une des variables est fonction affine croissante de l'autre variable et -1 si la fonction affine est décroissante. Une corrélation de 0 signifie que les variables sont linéairement indépendantes. Or ceci est le cas lorque qu'au numérateur de la formule nous avons (xi-moyennex)(yi-moyenney) avec xi et yi des variable aléatoire. Mais lorsqu'au numérateur nous avons (i-moyenne)(j-moyenne)*p(i,j), comment interpréter la formule? Puisque dans ce cas i et j ne sont plus des variables aléatoire mais représente des niveaux de gris. Je vous remercie d'avance |
|
|
00
|
|
|
#31 | ||
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 3 ![]() |
Bonjour;
je comprends pas l'avantage d'une matrice symétrique; Code :
Code :
int v0 = (int)((double)MSIZE*(double)this.image.getPix(y0, x0)/256.0) ; Code :
(int) ((double) MSIZE * ( double) ( pixel.red+ pixel.blue+ pixel.green)/ (256*3)); |
||
|
|
00
|
|
|
#32 | ||||
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 788 ![]() |
Citation:
Citation:
La tu fais la moyenne des pixels couleurs, si tu veux passer de la couleur aux niveaux de gris, regarde ici.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
||||
|
|
00
|
|
|
#33 | |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 3 ![]() |
je vous remercie TOTO;
j'ai encore une question, j'ai un traitement d'image médicale où toute information est importante est-ce que je dois utiliser une matrice symétrique ?? Citation:
0 [0 D] 45 [-D D] 90 [-D 0] 135 [-D -D] P1 D(P,P1) où l'angle=135 ( le point initial est P), -D ( P,P1) = D(P1,P) si on considére que P1 est le point initial l'angle sera = 315 ça implique qu'on a calculé pour P1 l'angle= 315, aprés avoir parcourir toute l'image on trouvera à la fin qu'on a calculé D=1 et angle= 0,45,90,135,180,225,270,315 pour chaque pixel, non??! et pour votre code Code :
int v0 = (int)((double)MSIZE*(double)this.image.getPix(y0, x0)/256.0) ; Code :
(int) ( (pixel.red+ pixel.blue+ pixel.green)/ 3) je vous remercie encore une fois. |
|
|
|
00
|
|
|
#34 |
![]() ![]() Guillaume Ingénieur de Recherche Inscription : janvier 2006 Messages : 4 788 ![]() |
- S'il te faut un maximum d'information, tu peux effectivement calculer la matrice symétrique dans quatre direction et faire la moyenne.
- Pour la moyenne des couleurs dans un pixel, c'est NON !!! Voir mon lien vers wikipédia. - Le calcul "* SIZE / 256" permet de réduire le nombre de niveaux de gris (cf. une autre de mes contributions), car on utilise presque jamais la matrice de cooccurrences en 256 niveaux de gris, mais on réduit afin d'être plus robuste au bruit.
__________________
Consignes aux jeunes padawans : une image vaut 1000 mots ! - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe correcteur orthographique pour FiReFox), mettre les ACCENTS et les BALISES => ECRIRE clairement et en Français tu DOIS. - Le coté obscur je sens dans le MP => Tous tes MP je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci) - ton poste tu dois marquer quand la bonne réponse tu as obtenu.
|
|
|
00
|
|
|
#35 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 3 ![]() |
okay, merci beaucoup.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com