Bonjour
J'ai une b-spline cubique uniforme cyclique placée sur une image, et je voudrai calculer le vecteur normal intérieur à ce contour.
De souvenir (ça remonte à longtemps), on peut obtenir le vecteur normal en calculant le vecteur gradient de la courbe et en le normalisant. Ai je juste ?
Donc je suis partit de ce principe :
Avec Nx,Ny et magnitudeGradient , ai je tout ce dont j'ai besoin pour mon vecteur normal ? Et comment puis je le visualiser ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 %Récupère les coordonnées du contour de la b-spline vect_x = bspline(1,:); vect_y = bspline(2,:); %Crée un masque du contour for j = 1:size(bspline,2) mask(vect_y(j),vect_x(j)) = 1; end [grady,gradx] = gradient(mask); magnitudeGradient = sqrt ((gradx .^2 + grady .^2)); Nx = gradx./magnitudeGradient; Ny = grady./magnitudeGradient;
Désolé ça fait longtemps que je n'ai pas ce genre de chose.
Merci pour votre aide
Partager