Problème de coordonnée polaire

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
zolotaya
Messages: 2
Enregistré le: 12 Juin 2007, 09:47

Problème de coordonnée polaire

par zolotaya » 12 Juin 2007, 09:50

Bonjour,

Bon voila j'ai un petit problème avec des coordonées polaire.
J'essai de mettre en place la transformée de Hough qui consite à chercher des droites dans une image (dans mon cas des droites plus ou moin verticale). Pour cela, je parcours mon image contenant que des contours et pour chaque point trouvé je calcul la sinusoide des droites passant par ce point :
Je fait varié un angle de 88 à 92 degré
pour chacun de ces angles je calcul les coordonée polaire des droites avec les formules suivantes :

double theta = ang * Math.PI / 180;
int rho = x * cos(theta) + y*sin(theta);

j'obtiens alors une image dans ce genre

Image

Ainsi à chaque intersection correspond une droite définie par un Rho (distance minimale à l'orgine) et Theta (angle par rapport à la droite minimum).

Mon problème est a partir de ce rho et ce theta de retrouvé l'équation de la droite sous la forme y = ax+b ou tout du moin avoir une méthode pour en calculer 2 points distinct.

Quelqu'un aurait'il une solution à proposer?

Si j'ai pas étais clair prévenez moi!



emdro
Membre Complexe
Messages: 2351
Enregistré le: 11 Avr 2007, 16:37

par emdro » 12 Juin 2007, 09:59

Bonjour,

je n'ai pas tout compris, mais je propose
y=ax+b avec

a=-1/tan(theta)
b=rhô/sin(theta)

Lorsque la droite n'est pas verticale, c'est à dire lorsque theta n'est pas nul modulo Pi.

Sinon, x=rhô (si theta=0) et x=-rhô (si theta=Pi)

C'est une solution "en or" (zolotaya...)?

zolotaya
Messages: 2
Enregistré le: 12 Juin 2007, 09:47

par zolotaya » 12 Juin 2007, 10:23

Merci c'est ce que je voulais!
J'étais pas sur des formules à utiliser!

Je dois avoir faux autre part dans mon programme car j'obtiens pas le résultat que je veux...

Merci beaucoup pour ton aide

emdro
Membre Complexe
Messages: 2351
Enregistré le: 11 Avr 2007, 16:37

par emdro » 12 Juin 2007, 13:48

zolotaya a écrit:int rho = x * cos(theta) + y*sin(theta);


Tu es certain(e) de cela?

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 34 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite