2

I try to calculate the roughenss or irregularity of a 2D figure'surface. I depict the figure and the region where I interested in. If the surface is flat, there are two methods to calculate the rougheness such as LWR, LER. However, when the surface is curved, I think advanced math should be applied. If you have any knowledge and experience for this problem, please share your knowledge :) Thanks

enter image description here

Yong Hwan Kim
  • 137
  • 1
  • 10
  • 2
    I don't have any mathematical background, but an idea might be to use a contour-detecting algorithm to get a polyline describing the edge, then "ride" along the polyline segment by segment to get a list of angles and distances so you can look at the sharpness of the turns along the polyline. The more sharp turns, the rougher the line..? – AKX Aug 26 '22 at 07:50
  • 1
    (This seems to be relevant: https://stackoverflow.com/a/7597763/51685) – AKX Aug 26 '22 at 07:52
  • 2
    what do you mean by "roughness"? Something like non-smoothness? You could try to approximate your surface by approxPolyDp or findContours with an approximation-model from its parameters and afterwards locally measure the deviation from the original contour to the approximated contour. – Micka Aug 26 '22 at 08:16
  • 2
    [Convexity Defects](https://docs.opencv.org/3.4/d5/d45/tutorial_py_contours_more_functions.html) might give you something usable. See also https://stackoverflow.com/questions/52481157/how-convexity-defect-is-calculated-in-opencv. – beaker Aug 26 '22 at 14:34
  • how is your surface stored ? Is it a finite set of points or is it described by an equation ? – Cadeyrn Aug 26 '22 at 20:28

0 Answers0