×

Object edge point filtering system for machine vision

  • US 5,796,868 A
  • Filed: 12/28/1995
  • Issued: 08/18/1998
  • Est. Priority Date: 12/28/1995
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for filtering possible edge points in an edge image represented by an array of edge image coordinates each having an edge point magnitude in a preselected range of edge point magnitudes, the edge image corresponding to an image of an object represented by an array of pixels, comprising the steps of:

  • a. forming an edge map array of edge map coordinates arranged in correspondence with the edge image, each edge map coordinate assigned one of three preselected edge indicator values indicative of a relationship between the corresponding edge image coordinate edge point magnitude and two preselected edge point magnitude thresholds, the assigned edge map coordinate values being stored in an addressable memory;

    b. forming an output edge point array of output edge point coordinates arranged in correspondence with the edge image, comprising the steps of;

    c. initializing each output edge point coordinate to a first of two preselected edge point values, the initialized coordinate values being stored in an addressable memory;

    d. constructing a first address stack to track memory addresses at which edge map coordinate values in the edge map array are stored;

    e. constructing a second address stack to track memory addresses at which output edge point coordinate values in the output edge point array are stored;

    f. assigning to selected of the initialized output edge point coordinates the second preselected edge point value, comprising the steps of;

    g. scanning the edge map array for an edge map coordinate assigned the first preselected edge indicator value;

    h. pushing on the first stack the edge map array address of a first encountered edge map coordinate assigned the first preselected edge indicator value;

    i. pushing on the second stack the output edge point array address corresponding to the edge map array address pushed on the first stack in step h;

    j. popping off of the first and second stacks the edge map coordinate address and corresponding output edge point coordinate address, respectively most recently pushed on the stacks;

    k. assigning to the edge map coordinate whose address was popped off of the first stack in step j the third edge indicator value;

    l. assigning to the output edge point coordinate whose address was popped off the second stack in step j the second preselected edge point value;

    m. examining edge map coordinates in the edge map array that neighbor the edge map coordinate whose address was popped off the first stack in step j for any edge map coordinates assigned either the first or second preselected edge indicator values;

    n. pushing on the first stack addresses of edge map coordinates found in step m to be assigned either the first or second preselected edge indicator values;

    o. pushing on the second stack the output edge point coordinate address corresponding to any edge map array address pushed on the first stack in step n;

    p. repeating steps j-o until all addresses are popped off the first and second stacks;

    q. repeating steps g-p until the edge map array is entirely scanned, those selected output edge point coordinates in the resulting output edge point array assigned with the second preselected edge point value each representing a likely edge point in the object image.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×