J'ai un ensemble de points que je veux propager sur le bord de la limite de la forme définie par une image binaire. La limite de forme est définie par un bord blanc large 1px.Matlab - Propager des points orthogonalement sur le bord des limites de forme
J'ai les coordonnées de ces points stockées dans une matrice de 2 rangées par n colonnes. La forme forme une limite concave sans trous à l'intérieur d'environ 2500 points. J'ai environ 80 à 150 points que je souhaite propager sur la limite de forme. Je veux lancer un rayon de chaque point de l'ensemble des points dans une direction orthogonale et détecter à quel point il coupe la limite de forme à. La direction orthogonale a déjà été déterminée. Aux fins requises, il est calculé en prenant la normale du contour calculé pour le point, en utilisant le point-1 et le point + 1.
Quelle serait la meilleure méthode pour cela? Existe-t-il une sorte d'algorithme de tracé de rayons qui pourrait être utilisé?
Merci beaucoup d'avance pour toute aide!
EDIT: J'ai essayé de clarifier la question et j'ai ajouté une image décrivant le problème. Dans l'image, la ligne grise représente le contour de la forme, les points rouges les points Je veux propager et la ligne verte un rayon orthogonal imaginaire.
alt text http://img504.imageshack.us/img504/3107/orth.png
AUTRE EDIT: Pour plus de précisions, j'ai posté le code utilisé pour calculer les Normales pour chaque point. Où les xt et yt sont des vecteurs stockant les coordonnées pour chaque point. Après avoir calculé la valeur normale, il peut être propagé en utilisant la fonction linspace et la longueur demandée de la ligne orthogonale.
%#derivaties of contour
dx=[xt(2)-xt(1) (xt(3:end)-xt(1:end-2))/2 xt(end)-xt(end-1)];
dy=[yt(2)-yt(1) (yt(3:end)-yt(1:end-2))/2 yt(end)-yt(end-1)];
%#normals of contourpoints
l=sqrt(dx.^2+dy.^2);
nx = -dy./l;
ny = dx./l;
normals = [nx,ny];
À quoi correspond la ligne verte orthogonale? Par "La direction orthogonale a déjà été déterminée" voulez-vous dire que nous pouvons considérer cela comme une partie donnée des données? – AVB