Forum 2022

question 3b)

question 3b)

par Matthieu Gachet,
Nombre de réponses : 3

Bonjour,

Dans le question du devoir on nous demande d'utiliser arctan(gy/gx) pour définir la direction du gradient. Toutefois, cette équation nous retourne des angles entre [-pi/2, pi/2], car elle ne prend pas en compte les vecteur(gx, gy) dans les cadrans 3 et 4.  Il me semble plus logique d'utiliser la fonction atan2(gx, gy), ou alors, de prendre en compte le signe du rapport gy/gx et de corriger le résultat obtenu à l'aide de arctan(). Pourtant cela n'a pas été discuté au cours, et surtout, dans le devoir, il est clairement écris de calculer la direction avec arctan(gy/gx) sans prendre plus de précaution. 

Pourriez vous éclaircir ce point s'il vous plaît.

Meilleures salutations,

Matthieu Gachet

En réponse à Matthieu Gachet

Re: question 3b)

par Eva Alonso Ortiz,
En réponse à Eva Alonso Ortiz

Re: question 3b)

par Vincent Therrien,
Bonjour,

J'ai du mal à comprendre comment l'angle du gradient peut nécessairement être compris entre -90 et 90 degrés. Les composantes Gx et Gy obtenues avec l'opérateur de Sobel peuvent être négatives ou positives et le vecteur peut donc pointer dans n'importe quelle direction comme l'a relevé Matthieu (ex. si l'on a <-1, 0>, l'angle est de 180 degrés). L'intervalle [-90, 90] ignore la moitié des valeurs possibles.

La page Wikipédia à ce sujet (https://fr.wikipedia.org/wiki/Filtre_de_Sobel) et d'autres articles utilisent d'ailleurs atan2, c'est pourquoi la restriction du domaine me semble inappropriée.
En réponse à Vincent Therrien

Re: question 3b)

par Eva Alonso Ortiz,
Désolé, tu as raison, je me suis mêlé (je vais supprimer mon ancienne réponse pour ne pas confondre les gens).

Selon le livre (P.778, 4ième ed.) "angles are measured in the counterclockwise direction with respect to the x-axis".

Ex: Gx = 2, Gy = -2
tan(2/-2) = -45 degrés

Comme l'angle est mesuré dans le sans anti-horloge, le sense du vecteur "grad" est de 135 degrés, ce qui est le même résultat qu'on obtient avec atan2.