Detecting Edges

Hi people,

I have a model that is scanned in slices, and in each slice I Have two edges, how can I detect the point where these edges are ?

Thank you
Best regards
Kurt

Ps.: I can send a picture.

I’m a bit confused by what you mean by “edge”. Are you talking about an area with a high color gradient?

Chris

No, It´s like a corner … you know ? I have a cloud of points, and I want to know the corners.

Thank you
Best regards
Kurt

I’m still not at all clear what you’re trying to do? Something like a convex hull of the point cloud?

Hello

Calculate the delta between two adjacent points and if it is big enough then it is a corner. If you have “noise” in the points try using the delta between a point and another point maybe 5 points away…

Pseudo code :

for(x=0;x<n-1;x++)
{
if (abs(p(x)-p(x+1))>delta)
return x;
}

Hello guys,

Rob.: I could send you some picture, do you want ?

Osku.: Could you be more clear, I don’t understand what you explain.

Thank you for the moment
Best regards
Kurt

Wait… you have a 3D set of points in space that define some shape, and you want the outer perimeter of the shape? Like a 3D version of a convex hull algorithm?

If you get a minute, send me a picture while you’re at it - I’m currently doing a lot of work with models that are input in planes as well.

Chris

Sure, you can send me a picture and I’ll try to take a look at it.
rblanding@hotmail.com

As I understand you have a collection of points that is like a graph? Please send a picture and maybe I can help you.

Osku

If you have the points ordered sequentially this is fairly easy… loop through all the points and get the slopes of each pair of adjacent points. If the slope differs by a large enough amount, then you have found your corner.

If they’re not ordered sequentially, sort them first.

Chris