IP Library Granted Patent US 9,165,187
Granted Patent B2
US 9,165,187 · App. 13/740,127 · Granted Oct 20, 2015

Systems and methods for mobile image capture and processing

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 9,165,187
App. No.
13/740,127
Granted
Oct 20, 2015
Kind
B2
Abstract

In various embodiments, methods, systems, and computer program products for processing digital images captured by a mobile device are disclosed. Myriad features enable and/or facilitate processing of such digital images using a mobile device that would otherwise be technically impossible or impractical, and furthermore address unique challenges presented by images captured using a camera rather than a traditional flat-bed scanner, paper-feed scanner or multifunction peripheral.

Claims (94)

1. A method for modifying one or more spatial characteristics of a digital representation of a document in a digital image, the method comprising:

transforming a tetragon into a rectangle using at least one processor,

wherein the tetragon is characterized by a plurality of equations,

wherein each equation corresponds to a side of the tetragon,

wherein each equation is selected from a chosen class of functions, and

wherein at least one of the equations is a second-degree or higher polynomial.

2. The method as recited in claim 1 , wherein the transforming comprises smooth stretching of the tetragon into the rectangle.

3. The method as recited in claim 1 , wherein the transforming comprises:

determining a height of the rectangle;

determining a width of the rectangle;

determining a skew angle of the rectangle; and

determining a center position of the rectangle.

4. The method as recited in claim 1 , wherein the transforming comprises:

defining a plurality of tetragon-based intrinsic coordinate pairs (p, q) within the tetragon, each intrinsic coordinate pair (p, q) corresponding to an intersection of:

a top-to-bottom curve characterized by an equation derived from an equation corresponding to a left side of the tetragon and an equation corresponding to a right side of the tetragon, and

a left-to-right curve characterized by an equation derived from an equation corresponding to a top side of the tetragon and an equation corresponding to a bottom side of the tetragon,

wherein the top-to-bottom curve equation is derived by combining one or more coefficients of the equation corresponding to a left side of the tetragon and one or more coefficients of the equation corresponding to the right side of the tetragon in a ratio of p to (1−p),

wherein 0≦p≦1,

wherein the left-to-right curve equation is derived by combining one or more coefficients of the equation corresponding to the top side of the tetragon and one or more coefficients of the equation corresponding to the bottom side of the tetragon in a ratio of q to (1−q), and

wherein 0≦q≦1.

5. The method as recited in claim 4 , wherein the tetragon is characterized by a substantially rectangular shape.

6. The method as recited in claim 4 , wherein the equation characterizing the top-to-bottom curve is:

x =((1− p )* a 2 +p*b 2 )* y 2 +((1− p )* a 1 +p*b 1 )* y +((1− p )* a 0 +p*b 0 ), and

wherein the equation characterizing the left-to-right curve is:

y =((1− q )* c 2 +p*d 2 )* x 2 +((1− q )* c 1 +q*d 1 )* x +((1− q )* c 0 +q*d 0 ).

7. The method as recited in claim 1 , wherein the transforming further comprises:

generating a rectangularized digital image from the digital image;

determining a p-coordinate and a q-coordinate for a plurality of points within the rectangularized digital image;

wherein each point located to the left of the rectangle has a p-coordinate value p<0,

wherein each point located to the right of the rectangle has a p-coordinate value p>1,

wherein each point located above the rectangle has a q-coordinate value q<0, and

wherein each point located below the rectangle has a q-coordinate value q>1.

8. The method as recited in claim 1 , wherein the transforming further comprises:

generating a rectangularized digital image from the digital image;

determining a pair of rectangle-based coordinates for each point within the rectangularized digital image; and

matching each pair of rectangle-based coordinates to an equivalent pair of tetragon-based intrinsic coordinates within the digital image, the matching comprising performing an iterative search for an intersection of a top-to-bottom curve and a left-to-right curve.

9. The method as recited in claim 1 , wherein the digital image exhibits characteristics of being captured by a mobile device, and wherein the at least one processor includes a processor of the mobile device.

10. The method as recited in claim 1 , the matching comprising performing an iterative search for an intersection of the top-to-bottom curve and the left-to-right curve, the iterative search comprising:

designating a starting point (x 0 , y 0 );

projecting the starting point (x 0 , y 0 ) onto the left-to-right curve based on an equation

x 1 =u 2 *y 0 2 +u 1 *y 0 +u 0 ; and

projecting a next point (x 1 , y 0 ) onto the top-to-bottom curve based on an equation

y 1 =v 2 *x 1 2 +v 1 *x 1 +v 0 ,

wherein u i =(1−p)*a 1 +p*b 1 , and

wherein v i =(1−q)*c i +q*d i and

the method further comprising:

iteratively projecting a plurality of points (x k , y k ) onto the left-to-right curve based on an equation

x k+1 =u 2 *y k 2 +U 1 *y k +u 0 ; and

iteratively projecting a plurality of points (x k+1 , y k ) onto the top-to-bottom curve based on an equation

y k+1 =v 2 *x k+1 2 v 1 *x k+1 +v 0 .

11. The method as recited in claim 10 , wherein the matching further comprises:

determining a distance between (x k , y k ) and (x k+1 , y k+1 ); and

determining whether the distance is less than a predetermined threshold.

12. The method as recited in claim 11 , further comprising terminating the iterative search upon determining that the distance is less than the predetermined threshold.

13. The method as recited in claim 1 ,

wherein a left side of the tetragon is characterized by a second degree polynomial equation:

x=a 2 *y 2 +a 1 *y+a 0 ,

wherein a right side of the tetragon is characterized by a second degree polynomial equation:

x=b 2 *y 2 +b 1 *y+b 0 ,

wherein a top side of the tetragon is characterized by a second degree polynomial equation:

y=c 2 *x 2 +c 1 *x+c 0 , and

wherein a bottom side of the tetragon is characterized by a second degree polynomial equation:

y=d 2 *x 2 +d 1 *x+d 0 .

14. A system, comprising:

a processor configured to execute logic; and

logic for transforming a tetragon into a rectangle,

wherein the tetragon is characterized by a plurality of equations,

wherein each equation corresponds to a side of the tetragon,

wherein each equation is selected from a chosen class of functions, and

wherein at least one of the equations is a second-degree or higher polynomial.

15. A computer program product comprising a computer readable storage medium having computer readable program code stored thereon, the computer readable program code comprising:

computer readable program code configured to transform a tetragon depicted in a digital image into a rectangle,

wherein the tetragon is characterized by a plurality of equations,

wherein each equation corresponds to a side of the tetragon, and

wherein each equation is selected from a chosen class of functions, and

wherein at least one of the equations is a second-degree or higher polynomial.

16. The computer program product as recited in claim 15 , wherein the transforming comprises smooth stretching of the tetragon into the rectangle.

17. The computer program product as recited in claim 15 , wherein the transforming comprises:

determining a height of the rectangle;

determining a width of the rectangle;

determining a skew angle of the rectangle; and

determining a center position of the rectangle.

18. The computer program product as recited in claim 15 , wherein the transforming further comprises:

generating a rectangularized digital image from the digital image;

determining a p-coordinate and a q-coordinate for a plurality of points within the rectangularized digital image;

wherein each point located to the left of the rectangle has a p-coordinate value p<0,

wherein each point located to the right of the rectangle has a p-coordinate value p>1,

wherein each point located above the rectangle has a q-coordinate value q<0, and

wherein each point located below the rectangle has a q-coordinate value q>1.

19. The computer program product as recited in claim 15 , wherein the transforming further comprises:

generating a rectangularized digital image from the digital image;

determining a pair of rectangle-based coordinates for each point within the rectangularized digital image; and

matching each pair of rectangle-based coordinates to an equivalent pair of tetragon-based intrinsic coordinates within the digital image.

20. The computer program product as recited in claim 15 , wherein the digital image exhibits characteristics of being captured by a mobile device, and wherein the computer readable program code is configured to cause a processor of the mobile device to transform the tetragon into the rectangle.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2024
From: KOFAX, INC.
To: TUNGSTEN AUTOMATION CORPORATION
Reel/Frame 067428/0392 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: KAPOW TECHNOLOGIES, INC.; KOFAX, INC.
Reel/Frame 060805/0161 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 20, 2022
From: KOFAX, INC.; PSIGEN SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A. AS COLLATERAL AGENT
Reel/Frame 060757/0565 →
SECURITY INTEREST Recorded Jul 20, 2022
From: KOFAX, INC.; PSIGEN SOFTWARE, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 060768/0159 →
SECURITY INTEREST Recorded Jul 7, 2017
From: KOFAX, INC.
To: CREDIT SUISSE
Reel/Frame 043108/0207 →
RELEASE OF SECURITY INTEREST Recorded May 26, 2015
From: BANK OF AMERICA, N.A.
To: KOFAX, INC.; ATALASOFT, INC.; KAPOW TECHNOLOGIES, INC.
Reel/Frame 035773/0930 →
SECURITY AGREEMENT Recorded Oct 21, 2013
From: KOFAX, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 031447/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2013
From: MACCIOLA, ANTHONY; SHUSTOROVICH, ALEXANDER; THRASHER, CHRISTOPHER W.
To: KOFAX, INC.
Reel/Frame 029659/0424 →