Curvature estimation in contour extracted from gray image

6 ビュー (過去 30 日間)
Turbulence Analysis
Turbulence Analysis 2021 年 6 月 24 日
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 ??

採用された回答

KSSV
KSSV 2021 年 6 月 24 日
編集済み: KSSV 2021 年 6 月 25 日
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 件のコメント
Turbulence Analysis
Turbulence Analysis 2021 年 6 月 25 日
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 2021 年 6 月 25 日
While executing, N=LineNormals2D(Vertices); it genartes two columns , Is it normal vectors in x, y.. ??

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by