Précédent   Forum du club des développeurs et IT Pro > Autres langages > Algorithmes > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, FAQ, sources, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 22/06/2011, 15h29   #81
azertyuio
Membre du Club
 
Femme
Étudiant
Inscription : mars 2009
Messages : 151
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 151
Points : 60
Points : 60
Citation:
Envoyé par pseudocode Voir le message
Ce n'est pas étonnant. Si l'image n'est pas normalisées (c'est à dire si les valeurs des pixels varient entre 0 et 255), alors la valeur des gradients Lx et Ly varient entre -255 et +255.

Les termes de la matrice de Harris (Lx², LxLy, Ly²) varient donc entre -255^2 et +255^2.

Et la mesure de Harris "(Lx²*Ly²-LxLy*LyLx) - k*(Lx²+Ly²)^2" peut être de l'ordre de +/- 255^4 ~= 4E+9


Normalement ca ne pose pas de problème tant qu'on utilise des float/double.
merci pseudocode
alors je dois juste faire une normalisation des valeurs de la matrice mesure de harris R pour rendre les valeurs entre 0 et 255.



et quand mon code détecte les points des cotés pour le triangle et le cercle est ce que c'est juste ? sachant que pour le carré il détecte uniquement les coins.
azertyuio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 15h46   #82
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 836
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 836
Points : 16 515
Points : 16 515
Citation:
Envoyé par azertyuio Voir le message
merci pseudocode
alors je dois juste faire une normalisation des valeurs de la matrice mesure de harris R pour rendre les valeurs entre 0 et 255.
Ce n'est pas obligatoire. Tu peux conserver les valeurs non normalisées en les stockant dans des tableaux de double/float.

Citation:
et quand mon code détecte les points des cotés pour le triangle et le cercle est ce que c'est juste ? sachant que pour le carré il détecte uniquement les coins.
Normalement, non. Sur un bord, la mesure de harris devrait être négative.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 15h58   #83
azertyuio
Membre du Club
 
Femme
Étudiant
Inscription : mars 2009
Messages : 151
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 151
Points : 60
Points : 60
Citation:
Envoyé par pseudocode Voir le message
Ce n'est pas obligatoire. Tu peux conserver les valeurs non normalisées en les stockant dans des tableaux de double/float.
okk


Citation:
Envoyé par pseudocode Voir le message
Normalement, non. Sur un bord, la mesure de harris devrait être négative.
aah d'accord donc je dois ajouter un test si la valeur est négative je la détecte pas !!
c'est à dire pour toutes les valeurs de R (la matrice de mesure de Harris) si la valeurs est négative je ne la détecte pas.
c'est ça ?
azertyuio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 17h11   #84
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 836
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 836
Points : 16 515
Points : 16 515
Citation:
Envoyé par azertyuio Voir le message
aah d'accord donc je dois ajouter un test si la valeur est négative je la détecte pas !!
c'est à dire pour toutes les valeurs de R (la matrice de mesure de Harris) si la valeurs est négative je ne la détecte pas.
c'est ça ?
C'est ca.

- Si la valeur est négative, c'est un bord => on ne marque pas le pixel
- Si la valeur est nulle (ou très faible), c'est une zone homogène => on ne marque pas le pixel
- Si la valeur est positive, c'est un coin => on marque le pixel !
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/06/2011, 21h42   #85
azertyuio
Membre du Club
 
Femme
Étudiant
Inscription : mars 2009
Messages : 151
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 151
Points : 60
Points : 60
merci infiniment pseudocode
azertyuio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 13h34   #86
guelbe
Invité régulier
 
Inscription : août 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 6
Points : 6
Points : 6
Bonjour Pseudocode

STP : pourquoi harris utilise t il une gaussienne au lieu du filtre carré utilisé par moravec. en quoi ça va atténuer le bruit.

j'ai lu que c'était question de distance mais je vois pas où est l apport de distance dans ce sujet

pourriez vous nous donner une réponse analytique et détaillée

Merci beaucoup
guelbe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 13h40   #87
guelbe
Invité régulier
 
Inscription : août 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 6
Points : 6
Points : 6
une autre question à pseudocode

j'ai lu que harris était invariant à la rotation car lorsqu'on tourne la fenetre on garde les mêmes valeurs propres de la matrice M

ds le lien suivant, on évoque que harris est sensible à la rotation du fait que seuls les gradients horizontal et vertical sont calculé, ce qui fait de lui moin anisotrropique que Moravec, ni + ni -
(http://kiwi.cs.dal.ca/~dparks/Corner...ion/harris.htm)

c'est quoi la vérité ?
guelbe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 20h03   #88
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 836
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 836
Points : 16 515
Points : 16 515
Citation:
Envoyé par guelbe Voir le message
Bonjour Pseudocode
Bonjour

Citation:
pourquoi harris utilise t il une gaussienne au lieu du filtre carré utilisé par moravec. en quoi ça va atténuer le bruit.
La convolution avec une gaussienne est équivalent a appliquer un filtre passe-bas sur l'image : les hautes-fréquences (changements brusques) sont atténuées. Visuellement, ca rend l'image floue.

Citation:
j'ai lu que c'était question de distance mais je vois pas où est l apport de distance dans ce sujet
Je n'ai pas compris de quelle distance tu parles ?

Citation:
Envoyé par guelbe Voir le message
j'ai lu que harris était invariant à la rotation car lorsqu'on tourne la fenetre on garde les mêmes valeurs propres de la matrice M

ds le lien suivant, on évoque que harris est sensible à la rotation du fait que seuls les gradients horizontal et vertical sont calculé, ce qui fait de lui moin anisotrropique que Moravec, ni + ni -
(http://kiwi.cs.dal.ca/~dparks/Corner...ion/harris.htm)

c'est quoi la vérité ?
La vérité c'est que harris est "théoriquement" invariant à la rotation si on l'utilisait sur une image "continue". Dans la pratique, l'image est discrétisée (tableau de pixels). En conséquence deux images ayant subies une rotation ont rarement des pixels de même intensité, ce qui fausse le calcul du gradient.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 20h16   #89
guelbe
Invité régulier
 
Inscription : août 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 6
Points : 6
Points : 6
Merci pr votre réponse
pr la 1ere question, voici le lien qui parle de distance euclidienne:
http://kiwi.cs.dal.ca/~dparks/Corner...on/moravec.htm

voir STP partie:

Noisy Response

The window used by Moravec is square and binary. To achieve a more accurate estimate of the local intensity variation, a circular window is desirable so that the Euclidean distance from the center pixel to the edge of the window is the same in all directions...


Pr la 2eme question:
si g compris votre réponse, Harris est théoriquement invariant à la rotation mais pas pratiquement ??

si c vrai, donc ils ont raison dans le lien
http://kiwi.cs.dal.ca/~dparks/Corner...ion/harris.htm

pourquoi donc laisse t on ds la littérature dire que Harris est invariant à la rotation ?

Merci beaucoup, je vous suis reconnaissant
guelbe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 11h06   #90
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 836
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 836
Points : 16 515
Points : 16 515
Citation:
Envoyé par guelbe Voir le message
Noisy Response

The window used by Moravec is square and binary. To achieve a more accurate estimate of the local intensity variation, a circular window is desirable so that the Euclidean distance from the center pixel to the edge of the window is the same in all directions...
L'idée dans une analyse locale, c'est de prendre des pixels uniformément répartis autour du point considéré. (généralement, on prend tous les pixels dans le voisinage).

Lorsqu'on prend un voisinage carré, la répartition n'est pas uniforme a cause des pixels qui sont dans les coins. Ces pixels dépendent de l'orientation du carré : on ne prend pas les mêmes pixels suivant que le carré est horizontal, ou tourné de 45°. Et donc, l'analyse locale ne se fera pas sur les même valeurs d'entrées => des résultats différents suivant l'orientation de la fenêtre, ce qui est équivalent à dire des résultats différents suivant l'orientation de l'image.

En prenant une fenêtre circulaire ce problème disparait, car si on fait tourner un cercle on obtient le même cercle. Et donc on a toujours les mêmes données d'entrée pour la calcul, quelle que soit l'orientation de la fenêtre = quelle que soit l'orientation de l'image (*)


(*) Au problème de discrétisation de l'image près.

Citation:
pourquoi donc laisse t on ds la littérature dire que Harris est invariant à la rotation ?
La formulation mathématique du descripteur est invariante à la rotation. Ce n'est pas le cas de tous les descripteurs, c'est donc important de placer Harris dans la catégorie des descripteurs invariants à la rotation.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2013, 20h01   #91
snoussix
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2013
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : janvier 2013
Messages : 1
Points : 1
Points : 1
Par défaut detecteur de harris sous maple

bonsoir,
Merci pseudocode pour la mise en application de cet algorithme mais j'ai quelques problèmes de compréhension du java ( j'essaie d'adapter le programme sous maple ).
Je ne comprends donc pas comment est fixé le seuil ( w) qui fixé si une valeur est un coin ou pas, et je me demandais si pour prendre en considération aussi les contours il suffit de prendre les valeurs négatives de R(=detM -k(tr(M)^2) avec le même seuil w.
Je me demandais si on pouvait travailler directement avec une image couleur et si le passage en niveaux de gris n'atténue pas la qualité du detecteur.
Finalement, je me demandais plus generalement comment on peut procéder a la multiplication d'un lisseur ( ex lisseur horizental :[1,1,1] ) et d'une dérivée ( ex masque de Roberts 2 : [-1;0;1]) le résultat de l'exemple étant à une constante près [-1,-1,0,1,1]. L'idée étant d'améliorer ( ce que je ne comprends pas d'ailleurs, mais c'est secondaire ) le calcul des élèments de la matrice
snoussix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2013, 23h44   #92
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 836
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 836
Points : 16 515
Points : 16 515
Citation:
Envoyé par snoussix Voir le message
Je ne comprends donc pas comment est fixé le seuil ( w) qui fixé si une valeur est un coin ou pas,
De quelle valeur "w" vous parlez ? Le seul "w" que je vois c'est celui du test de maxima spatial.

Citation:
et je me demandais si pour prendre en considération aussi les contours il suffit de prendre les valeurs négatives de R(=detM -k(tr(M)^2) avec le même seuil w.
Oui, si R est très négatif on est sur un bord.

Citation:
Je me demandais si on pouvait travailler directement avec une image couleur et si le passage en niveaux de gris n'atténue pas la qualité du detecteur.
Effectivement, passer en niveau de gris (intensité) fait perdre de l'information et peut faire disparaitre certains coins. Pour gérer les images couleurs, il faut faire intervenir les 3 composantes R,V,B dans le calcul de la matrice de Harris (cf papier de P.Montesinos: "Differential invariants for color images").

Citation:
Finalement, je me demandais plus generalement comment on peut procéder a la multiplication d'un lisseur ( ex lisseur horizental :[1,1,1] ) et d'une dérivée ( ex masque de Roberts 2 : [-1;0;1]) le résultat de l'exemple étant à une constante près [-1,-1,0,1,1]. L'idée étant d'améliorer ( ce que je ne comprends pas d'ailleurs, mais c'est secondaire ) le calcul des élèments de la matrice
Le filtrage se fait par un produit de convolution entre le filtre et l'image.

Image_lissée = Lisseur * Image
Image_finale = Dérivée * Image_lissée = Dérivée * ( Lisseur * Image )

Par associativité du produit de convolution, on a:

Dérivée * ( Lisseur * Image ) = (Dérivée * Lisseur) * Image

C'est à dire qu'on peut commencer par calculer le produit de convolution des deux filtres, ce qui nous une donne un filtre "combiné" qu'on peut appliquer à l'image.

FitreCombiné = Dérivée * Lisseur
Image_finale = FitreCombiné * Image
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h27.


 
 
 
 
Partenaires

Hébergement Web