IP Library › Granted Patent US 10,943,140
Granted Patent B2
US 10,943,140 · App. 16/443,038 · Granted Mar 9, 2021

Image processing to detect a rectangular object

Inventors: Jason Pribble (McLean, VA); Nicholas Capurso (Tysons Corner, VA); Daniel Alan Jarvis (Alexandria, VA)
Assignee: Capital One Services, LLC
G06K9/3275G06K9/00463G06K9/3216G06K9/3233G06K9/36G06K9/44G06K9/4638G06K2009/363
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,943,140
App. No.
16/443,038
Granted
Mar 9, 2021
Kind
B2
Abstract

In some implementations, a device may detect edges in an image, and may identify, based on the edges, a rectangle that bounds a document in the image. The device may detect lines in the image, and may identify edge candidate lines by discarding one or more of the lines. The device may identify intersection points where lines, included in the edge candidate lines, intersect with one another. The device may identify corner candidate points by discarding one or more points included in the intersection points, and may identify a corner point included in the corner candidate points. The corner point may be a point, included in the corner candidate points, that is closest to one corner of the bounding rectangle. The device may perform perspective correction on the image of the document based on identifying the corner point.

Claims (83)

1. A method, comprising:

detecting, by a device and using at least one computer-implemented edge detection technique, a set of edges associated with an image of an object;

identifying, by the device and based on the set of edges, a bounding rectangle that bounds the object;

generating, prior to identifying a set of edge candidate lines associated with the image, at least two midpoint intersection lines,

a first midpoint intersection line, of the at least two midpoint intersection lines, intersecting a first pair of bounding rectangle edges, and

a second midpoint intersection line, of the at least two midpoint intersection lines, intersecting a second pair of bounding rectangle edges;

identifying, by the device, the set of edge candidate lines;

identifying, by the device, a set of intersection points where lines, included in the set of edge candidate lines, intersect with one another;

identifying, by the device, at least two corner points included in the set of intersection points,

each corner point, of the at least two corner points, being a point, included in the set of intersection points, that is closest, relative to other corner points of the at least two corner points, to a respective corner of the bounding rectangle; and

marking, by the device, each corner point, of the at least two corner points, as a respective corner of the object.

2. The method of claim 1 , further comprising:

performing grayscale conversion on the image prior to detecting the set of edges; and

applying one or more image blurring techniques to the image prior to detecting the set of edges.

3. The method of claim 1 , further comprising:

filtering, prior to identifying the set of edge candidate lines and based on the at least two midpoint intersection lines, the set of edges to remove at least one edge from the set of edges.

4. The method of claim 1 , further comprising:

determining, for an edge of the set of edges, that an angle of the edge, with respect to one of the at least two midpoint intersection lines, satisfies a threshold angle; and

removing the edge from the set of edges based on determining that the angle of the edge satisfies the threshold angle.

5. The method of claim 1 , further comprising:

determining, for an edge of the set of edges, that a distance, between a midpoint of the edge and a midpoint of one of the at least two midpoint intersection lines, satisfies a threshold distance; and

removing the edge from the set of edges based on determining that the distance satisfies the threshold distance.

6. The method of claim 1 , further comprising:

determining that a first edge length, between two particular corner points of the at least two corner points, meets a threshold with respect to a second edge length of a corresponding edge of the bounding rectangle; and

validating the at least two corner points based on determining that the first edge length meets the threshold.

7. The method of claim 1 , further comprising:

generating another rectangle having dimensions smaller or larger than the bounding rectangle; and

removing, based on the generated other rectangle, at least one intersection point from the set of intersection points.

8. A device, comprising:

one or more memories; and

one or more processors, communicatively coupled to the one or more memories, to:

detect a set of edges associated with an image of an object;

identify, based on the set of edges, a bounding rectangle that bounds the object;

identify a set of edge candidate lines associated with the image;

identify a set of intersection points where lines, included in the set of edge candidate lines, intersect with one another;

identify at least two corner points included in the set of intersection points,

each corner point, of the at least two corner points, being a point, included in the set of intersection points, that is closest, relative to other corner points of the at least two corner points, to a respective corner of the bounding rectangle;

mark each corner point, of the at least two corner points, as a respective corner of the object;

generate another rectangle having dimensions smaller or larger than the bounding rectangle; and

remove, based on the generated other rectangle, at least one intersection point from the set of intersection points.

9. The device of claim 8 , wherein the one or more processors are further to:

generate, prior to identifying the set of edge candidate lines, at least two midpoint intersection lines,

a first midpoint intersection line, of the at least two midpoint intersection lines, intersecting a first pair of bounding rectangle edges, and

a second midpoint intersection line, of the at least two midpoint intersection lines, intersecting a second pair of bounding rectangle edges.

10. The device of claim 9 , wherein the one or more processors are further to:

filter, prior to identifying the set of edge candidate lines and based on the at least two midpoint intersection lines, the set of edges to remove at least one edge from the set of edges.

11. The device of claim 10 , wherein the one or more processors are further to:

determine, for an edge of the set of edges, that an angle of the edge, with respect to one of the at least two midpoint intersection lines, satisfies a threshold angle; and

remove the edge from the set of edges based on determining that the angle of the edge satisfies the threshold angle.

12. The device of claim 9 , wherein the one or more processors are further to:

determine, for an edge of the set of edges, that a distance, between a midpoint of the edge and a midpoint of one of the at least two midpoint intersection lines, satisfies a threshold distance; and

remove the edge from the set of edges based on determining that the distance satisfies the threshold distance.

13. The device of claim 8 , wherein the one or more processors are further to:

determine that a first edge length, between two particular corner points of the at least two corner points, meets a threshold with respect to a second edge length of a corresponding edge of the bounding rectangle; and

validate the at least two corner points based on determining that the first edge length meets the threshold.

14. The device of claim 8 , wherein the one or more processors are further to:

perform grayscale conversion on the image prior to detecting the set of edges; and

apply one or more image blurring techniques to the image prior to detecting the set of edges.

15. The device of claim 8 , wherein the one or more processors are further to:

crop the image using each marked corner point.

16. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions that, when executed by one or more processors of a device, cause the one or more processors to:

detect a set of edges associated with an image of an object;

identify, based on the set of edges, a bounding rectangle that bounds the object;

generate, prior to identifying a set of edge candidate lines associated with the image, at least two midpoint intersection lines,

a first midpoint intersection line, of the at least two midpoint intersection lines, intersecting a first pair of bounding rectangle edges, and

a second midpoint intersection line, of the at least two midpoint intersection lines, intersecting a second pair of bounding rectangle edges;

identify the set of edge candidate lines;

identify a set of intersection points where lines, included in the set of edge candidate lines, intersect with one another;

identify at least two corner points included in the set of intersection points,

each corner point, of the at least two corner points, being a point, included in the set of intersection points, that is closest, relative to other corner points of the at least two corner points, to a respective corner of the bounding rectangle; and

mark each corner point, of the at least two corner points, as a respective corner of the object.

17. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

generate another rectangle having dimensions larger than the bounding rectangle; and

remove, based on the other rectangle, at least one intersection point from the set of intersection points.

18. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

generate another rectangle having dimensions smaller than the bounding rectangle; and

remove, based on the other rectangle, at least one intersection point from the set of intersection points.

19. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

filter, prior to identifying the set of edge candidate lines and based on the at least two midpoint intersection lines, the set of edges to remove at least one edge from the set of edges.

20. The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

perform grayscale conversion on the image prior to detecting the set of edges; and

apply one or more image blurring techniques to the image prior to detecting the set of edges.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2019
From: PRIBBLE, JASON; CAPURSO, NICHOLAS; JARVIS, DANIEL ALAN
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 049488/0792 →
Continuity (2)
Continuation 16165794 · Oct 19, 2018
Related Publication 20200125881A1 · Apr 23, 2020