Evaluate the smoothness of curve

22 次查看(过去 30 天)
I have a binary immage, like in the figure, with different curves which I've skeletonized and from which I have the coordinates xy.
I was wondering if there is a way to evaluete how intese the curvature is: more like a circle, an hyperbola, a corner. For exemple by defining a parameter which is bigger (or smaller) regarding the curvature.
Thank you

采纳的回答

darova
darova 2019-9-7
I used find() function to exract all white pixels. Reduced number of points and interpolated them to get smooth curve (look HERE)
Once i found position (x,y) of pixels i had to sort them: i calculated angle for each pixel and sorted data by angle
12Untitled.png
I used dot product (angle between radius and curve )
And made a system of equations ( - intersection points )
112Untitled - Copy.png
Look also here: Radius of curvature
  7 个评论
darova
darova 2019-9-14
spline() doesn't work? What kind of problems do you have
Sebastian Ursarescu
All interpac's methos work. The results are pretty similar. Using few points the line is a little bit rude, using too much points too, usinig 1/5 of the initial points seems to work very good. The point is if the curve is too sharp it cuts it a little bit the edge in some cases. Anyway, from the tries I made until now it is not a big deal.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Geometric Transformation and Image Registration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by