Curvature estimation in contour extracted from gray image

5 vues (au cours des 30 derniers jours)
Turbulence Analysis
Turbulence Analysis le 24 Juin 2021
Hi,
I have the edges/contours extacted from the gray image, now I intend to estimate the curvature.
For e.g., I have attached my sample contour here..
Could someone help me with this out ??

Réponse acceptée

KSSV
KSSV le 24 Juin 2021
Modifié(e) : KSSV le 25 Juin 2021
You may use this file exchange function:
Check the code:
load('Test image.mat') ;
[y,x] = find(I) ;
idx = boundary(x,y) ;
x = x(idx) ; y = y(idx) ;
Vertices = [x y] ;
k=LineCurvature2D(Vertices) ;
N=LineNormals2D(Vertices) ;
figure(1)
scatter(x,y,20,k,'filled')
colorbar
title('curvature')
figure(2)
plot(x,y)
hold on
plot([Vertices(:,1) Vertices(:,1)+10*N(:,1)]',[Vertices(:,2) Vertices(:,2)+10*N(:,2)]');
title('Normals')
  11 commentaires
Turbulence Analysis
Turbulence Analysis le 25 Juin 2021
Thanks.. Now,I used, axis equal command, Now It's better.
But, I ddidn't understand why the curvature scatter plot always dipslays in inverted ??
scatter(x,y,50,k,'filled');
axis equal
Turbulence Analysis
Turbulence Analysis le 25 Juin 2021
While executing, N=LineNormals2D(Vertices); it genartes two columns , Is it normal vectors in x, y.. ??

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by