# US 8,542,924 B2 · Boundary extraction method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,542,924 B2
- Document ID: US8542924B2
- Status: Granted
- Kind: B2
- Application number: 13/539,451
- Filed: 2012-07-01
- Published: 2012-12-27
- Granted: 2013-09-24
- Earliest claimed: 2009-01-21
- Assignees: The United States of America as represented by the Secretary of the Navy
- Applicants: Cheryl A. Blain; Carolus M. Cobb; Alan Weidemann
- Inventors: Cheryl A. Blain; Carolus M. Cobb; Alan Weidemann
- Web page: https://patentgrep.com/patent/US8542924B2

## CPC

- G06V 20/182: {Network patterns, e.g. roads or rivers}
- G06T 7/12: Edge-based segmentation
- G06T 7/181: involving edge growing; involving edge linking
- G06T 2207/10044: Radar image
- G06T 2207/30181: Earth observation
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A computer-implemented method for creating an ordered set of boundary data by transforming data from remotely sensed imagery of shorelines is provided. A feature data set and an edge data set are transformed into a set of 3-point boundary segments having a specific head and tail point and the segments are ordered from tail to head in a clockwise or counterclockwise manner relative to the water. Once the 3-point segments are created they are easily linked together into larger segments. These large multi-point segments in turn are linked together to create a closed loop in a predetermined direction, for example, but not limited to, the shorelines for rivers or coastal areas.

## Claims

### Claim 1

A computer-implemented method for extracting an ordered set of boundary data points from a digital image, comprising:
receiving a set of feature data comprising a plurality of feature data points representing pixel locations indicative of a presence of a specific feature in the image;
receiving a set of edge data comprising a plurality of edge data points representing pixel locations indicative of a boundary between the specific feature and an adjoining area in the image;
receiving data indicative of a selection of one of a clockwise and a counterclockwise direction of the boundary;
transforming the edge data into a set of mean edge data comprising a plurality of mean edge data points ei;
identifying a first nearest neighbor mean edge point ei−1 in a first direction and a second nearest neighbor mean edge point ei+1 in a second direction; and
assigning each mean edge data point ei one of a head and a tail based on an orientation of ei with respect to the feature and the predetermined one of a clockwise and a counterclockwise boundary direction to transform the set of mean edge data points into an ordered set of boundary data points;
wherein the boundary data points are capable of being joined to form a plurality of ordered boundary segments, the ordered boundary segments being capable of being joined to form a closed loop in the predetermined direction.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising transforming the edge data into the set of mean edge data ei by applying a box average to edge data points within a box of predetermined size centered around a first selected edge data point to obtain a mean edge point coordinate location for edge data points within the box, saving the mean edge data point to memory, discarding the edge data points within the box, and applying the box average to edge data points within the box centered around a second selected edge data point.

### Claim 3 (depends on 2)

The method according to claim 2, wherein a size of the box is user-specified.

### Claim 4 (depends on 2)

The method according to claim 2, wherein a size of the box is determined by a selected resolution of the boundary segments.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the predetermined direction is user-specified.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the predetermined direction is determined by another application in which the boundary data is to be used.

### Claim 7 (depends on 1)

The method according to claim 1, further comprising:
determining a mean normalized feature direction vector at each mean edge data point ei, the mean normalized feature direction vector pointing from ei towards the center of the feature;
taking a first cross-product of the mean normalized feature direction vector with each of a head vector and a tail vector extending between ei and ei−1 and taking a second cross product of the mean normalized feature direction vector with each of a head vector and a tail vector extending between ei and ei+1; and
assigning one of a head and a tail to ei based on the results of the first and second cross-products and the predetermined direction of the boundary;
wherein the set of ordered boundary points is ordered based on the assignment of the heads and tails and the predetermined direction of the boundary.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the feature is a body of water such that the boundary comprises a shoreline.

### Claim 9

A computer program product including a non-transitory computer storage medium comprising one of volatile media and nonvolatile media and a computer program code mechanism embedded in the non-transitory computer storage medium for extracting a boundary from a digital image, comprising:
a computer code module configured to receive feature data comprising a plurality of feature data points representing pixel locations indicative of a presence of a specific feature in the image;
a computer code module configured to receive a set of edge data comprising a plurality of edge data points representing pixel locations indicative of a boundary between the specific feature and an adjoining area in the image;
a computer code module configured to receive data indicative of a selection of one of a clockwise and a counterclockwise direction of the boundary;
a computer code module configured to transform the edge data into a set of mean edge data comprising a plurality of mean edge data points ei;
a computer code module configured to identify a first nearest neighbor mean edge point ei−1 in a first direction and a second nearest neighbor mean edge point ei+1 in a second direction;
a computer code module configured to assign each mean edge data point ei one of a head and a tail based on an orientation of ei with respect to the feature and the predetermined one of a clockwise and a counterclockwise boundary direction to transform the set of mean edge data points into an ordered set of boundary data points;
wherein the boundary data points are capable of being joined to form a plurality of ordered boundary segments, the ordered boundary segments being capable of being joined to form a closed loop in the predetermined direction.

### Claim 10 (depends on 9)

The computer program product according to claim 9, further comprising a computer code module configured to transform the edge data into the set of mean edge data ei by applying a box average to edge data points within a box of predetermined size centered around a first selected edge data point to obtain a mean edge point coordinate location for edge data points within the box, configured to save the mean edge data point to memory, configured to discard the edge data points within the box, and configured to apply the box average to edge data points within the box centered around a second selected edge data point.

### Claim 11 (depends on 10)

The computer program product according to claim 10, wherein a size of the box is user-specified.

### Claim 12 (depends on 10)

The computer program product according to claim 10, wherein a size of the box is determined by a selected resolution of the boundary segments.

### Claim 13 (depends on 9)

The computer program product according to claim 9, wherein the predetermined direction is user-specified.

### Claim 14 (depends on 9)

The computer program product according to claim 9, wherein the predetermined direction is determined by another application in which the boundary data is to be used.

### Claim 15 (depends on 9)

The computer program product according to claim 9, further comprising:
a computer code module configured to determine a mean normalized feature direction vector at each mean edge data point ei, the mean normalized feature direction vector pointing from ei towards the center of the feature;
a computer code module configured to take a first cross-product of the mean normalized feature direction vector with each of a head vector and a tail vector extending between ei and ei−1 and configured to take a second cross product of the mean normalized feature direction vector with each of a head vector and a tail vector extending between ei and ei+1; and
a computer code module configured to assign one of a head and a tail to ei based on the results of the first and second cross-products and the predetermined direction of the boundary;
wherein the set of ordered boundary points is ordered based on the assignment of the heads and tails and the predetermined direction of the boundary.

### Claim 16 (depends on 9)

The computer program product according to claim 9, wherein the feature is a body of water such that the boundary comprises a shoreline.
