# How to filter the points to get only the left most and right most?

Hi all,
Let say,

``````
n = 0;  // number of corner points detected
if (......)
{
corner_list[n].x = j;  //x coordinate
corner_list[n].y = i;  //y coordinate
n++;
:
:
}

``````

“m7.pgm”–>attached
This is the image and the marking at the contour are the detected points.
“m-004-1.pgm”–>attached
I want to get only the left most and right most points as corner. How can i write the codes to keep only these 2 corner points for every image?
From the left side, we can see there are two points with the same x-coordinate. From the right there are 3 or 4 points at the same x-coordinate.
How can we program to choose the most middle position for the left most and right most corner points?

Thank you.

Best regards,

m7.zip (375 Bytes)
m-004-1.zip (44.3 KB)

m7.zip (375 Bytes)
m-004-1.zip (44.3 KB)

I’m not sure of your data, it looks like a series of X, Y, VALUE triples.

How about something like this …

upperleft_y = first value of Y
upperleft_x = first value of X
lowerright_y = first value of Y
lowerright_x = first value of X

As you iterate through the remaining points X,Y,VALUE in your data:

if (X < upperleft_x) AND (Y < upperleft_y)
upperleft_x = X;
upperleft_y = Y;

if (X > lowerright_x) AND (Y > lowerright_y)
lowerright_x = X;
lowerright_y = Y;

If each line of your .PGM represents one image, then repeat the above for each line and store the resulting upperleft and lowerright X,Y pairs in your corners] array.

mike

The code from my previous post is to store the x and y coordinates which are detected into corner_list[n]. However, i need to filter it and save the left most and right most corner points, assume to be (x1,y1) and (x2,y2).

Can you show me how to get the correct x and y while there are two left most points with the same x-position? The height of my image is 80 pixels. So, if there is any left most or right most points with the same x-position, i will choose the one with y value nearest to 40 pixels. Can you show me how to program it and connected to my posted program?

Sorry I have just joined the world of programming. Any help will be appreciated. Thanks.