IP Library Granted Patent US 7,280,706
Granted Patent B2
US 7,280,706 · App. 10/641,679 · Granted Oct 9, 2007

Better picture for inexpensive cameras

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 7,280,706
App. No.
10/641,679
Granted
Oct 9, 2007
Kind
B2
Abstract

A method for correcting a nonlinear distortion in an image includes receiving an image of a calibration template comprising calibration patterns, detecting at least three points from the calibration patterns, calculating a distortion parameter from coordinates of the at least three points that should align along a straight line, and correcting the nonlinear distortion in the image using the distortion parameter. A method for correcting a radial distortion in an image includes receiving a radial distortion parameter from the user and calculating new intensity values of points in the image to correct a radial exposure distortion in the image.

Claims (208)

1. A method for correcting a distortion in an image, comprising:

calculating a first local distortion parameter from coordinates of a first plurality of three points that should align along a first straight line;

calculating a second local distortion parameter from coordinates of a second plurality of three points that should align along a second straight line;

selecting a global distortion parameter from the first and the second local distortion parameters; and

correcting the nonlinear distortion in the image using the global distortion parameter.

2. The method of claim 1 , further comprising, prior to said calculating:

receiving an image of a calibration template comprising calibration patterns; and

detecting the first plurality of three points and the second plurality of three points from the calibration patterns.

3. The method of claim 2 , wherein the points are corners of the calibration patterns.

4. The method of claim 1 , wherein:

said calculating a first local distortion parameter comprises solving a first equation with the coordinates of the first plurality of three points:

ρ(1+ k 1 ρ 2 )cos(θ−α 1 )= R 1 ,

wherein (ρ, θ) are polar coordinates of a point on the first straight line with the nonlinear distortion, k 1 is the first local distortion parameters, and (α 1 , R 1 ) are parameters of the first straight line;

said calculating a second local distortion parameter comprises solving a second equation with the coordinates of the second plurality of three points:

ρ(1 +k 2 ρ 2 )cos(θ−α 2 )= R 2 ,

wherein (ρ, θ) are polar coordinates of a point on the second straight line with the nonlinear distortion, k 2 is the second local distortion parameter, and (α 2 , R 2 ) are parameters of the second straight line.

5. The method of claim 4 , wherein said selecting a global distortion parameter comprises setting the global distortion parameter equal to one of the first and the second local distortion parameters that best fits both the first plurality of three points and the second plurality of three points.

6. The method of claim 5 , wherein said selecting a global distortion parameter comprises:

calculating a minimum value of a first error when the first local distortion parameter is used to fit the second plurality of three points, the first error being defined as follows:

e

1

=

i

=

1

3

ρ

i

(

1

+

k

1

ρ

i

2

)

cos

(

θ

i

-

α

2

)

-

R

2

2

,

wherein e 1 is the first error achieved using k 1 instead of k 2 to fit the second plurality of three points, and (ρ i , θ i ) are the polar coordinates of the second plurality of three points;

calculating a minimum value of a second error when the second local distortion parameter is used to fit the first plurality of three points, the second error being defined as follows:

e

2

=

i

=

1

3

ρ

i

(

1

+

k

2

ρ

i

2

)

cos

(

θ

i

-

α

1

)

-

R

1

2

,

wherein e 2 is the second error achieved using k 2 instead of k 1 to fit the first plurality of three points, and (ρ i , θ i ) are the polar coordinates of first plurality of three points;

setting the global distortion parameter equal to the first local distortion parameter if the minimum value of the first error is less than the minimum value of the second error; and

setting the global distortion parameter equal to the second local distortion parameter if the minimum value of the second error is less than the minimum value of the first error.

7. The method of claim 1 , wherein said correcting the nonlinear distortion comprises moving points in the image with following equations:

x′=x·[ 1 +k ( x 2 +y 2 )];

y′=y·[ 1 +k ( x 2 +y 2 )];

wherein (x, y) are the coordinates of a point in the image with the nonlinear distortion, (x′, y′) are the coordinates of the point in the image without the nonlinear distortion, and k is the global distortion parameter.

8. A method for correcting a distortion in an image, comprising:

calculating a first local distortion parameter from coordinates of a first plurality of three points that should align along a first straight line;

setting a global distortion parameter equal to the first local distortion parameter; and

correcting the nonlinear distortion in the image using the global distortion parameter.

9. The method of claim 8 , further comprising receiving from user input the coordinates of the first plurality of three points.

10. The method of claim 8 , wherein said calculating a first local distortion parameter comprises solving a first equation with the coordinates of the first plurality of three points:

ρ(1 +k 1 ρ 2 )cos(θ−α 1 )= R 1 ,

wherein (ρ, θ) are polar coordinates of a point on the first straight line with the nonlinear distortion, k 1 is the first local distortion parameter, and (α 1 , R 1 ) are parameters of the first straight line.

11. The method of claim 8 , wherein said correcting the nonlinear distortion comprises moving points in the image with following equations:

x′=x·[ 1 +k ( x 2 +y 2 )];

y′=y·[ 1 +k ( x 2 +y 2 )];

wherein (x, y) are the coordinates of a point in the image with the nonlinear distortion, (x′, y′) are the coordinates of the point in the image without the nonlinear distortion, and k is the global distortion parameter.

12. The method of claim 8 , further comprising, after said calculating a first local distortion parameter and prior to setting a global distortion equal to the first local distortion parameter:

calculating a second local distortion parameter from coordinates of a second plurality of three points that should align along a second straight line;

wherein said setting the global distortion parameter equal to the first local distortion parameter is conditioned on the first local distortion parameter being a better fit for both the first plurality of three points and the second plurality of three points than the second local distortion parameter.

13. The method of claim 12 , wherein said calculating a second local distortion parameter comprises solving a second equation with the coordinates of the second plurality of three points:

ρ(1+ k 2 ρ 2 )cos(θ−α 2 )= R 2 ,

wherein (ρ, θ) are polar coordinates of a point on the second straight line with the nonlinear distortion, k 2 is the second local distortion parameter, and (α 2 , R 2 ) are parameters of the second straight line.

14. The method of claim 13 , wherein said setting the global distortion parameter equal to the first local distortion parameter comprises

calculating a minimum value of a first error when the first local distortion parameter is used to fit the second plurality of three points, the first error being defined as follows:

e

1

=

i

=

1

3

ρ

i

(

1

+

k

1

ρ

i

2

)

cos

(

θ

i

-

α

2

)

-

R

2

2

,

wherein e 1 is the first error achieved using k 1 instead of k 2 to fit the second plurality of three points, and (ρ i , θ i ) are the polar coordinates of the second plurality of three points;

calculating a minimum value of a second error when the second local distortion parameter is used to fit the first plurality of three points, the second error being defined as follows:

e

2

=

i

=

1

3

ρ

i

(

1

+

k

2

ρ

i

2

)

cos

(

θ

i

-

α

1

)

-

R

1

2

,

wherein e 2 is the second error achieved using k 2 instead of k 1 to fit the first plurality of three points, and (ρ i , θ i ) are the polar coordinates of first plurality of three points; and

setting the global distortion parameter equal to the first local distortion parameter if the minimum value of the first error is less than the minimum value of the second error.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 13, 2015
From: EAST WEST BANK
To: ARCSOFT, INC.; MULTIMEDIA IMAGE SOLUTION LIMITED; ARCSOFT (HANGZHOU) MULTIMEDIA TECHNOLOGY CO., LTD.; ARCSOFT (SHANGHAI) TECHNOLOGY CO., LTD.; ARCSOFT HANGZHOU CO., LTD.
Reel/Frame 037109/0027 →
SECURITY INTEREST Recorded Aug 14, 2014
From: ARCSOFT, INC.; ARCSOFT (SHANGHAI) TECHNOLOGY CO., LTD.; ARCSOFT (HANGZHOU) MULTIMEDIA TECHNOLOGY CO., LTD.; MULTIMEDIA IMAGE SOLUTION LIMITED; ARCSOFT HANGZHOU CO., LTD.
To: EAST WEST BANK
Reel/Frame 033535/0537 →
RELEASE OF SECURITY INTEREST Recorded Jul 19, 2011
From: EAST WEST BANK
To: ARCSOFT, INC.
Reel/Frame 026616/0643 →
SECURITY AGREEMENT Recorded Apr 13, 2010
From: ARCSOFT, INC.
To: EAST WEST BANK
Reel/Frame 024218/0828 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2003
From: WU, DONGHUI; ZHOU, LINGXIANG
To: ARCSOFT, INC.
Reel/Frame 014415/0655 →