IP Library Granted Patent US 8,977,032
Granted Patent B2
US 8,977,032 · App. 13/652,563 · Granted Mar 10, 2015

Identifying and evaluating multiple rectangles that may correspond to a pallet in an image scene

Inventors: Lee F. Holeva (Ft. Wayne, IN); Edwin R. Elston (El Paso, TX); Michael J. Seelinger (South Bend, IN); John-David S. Yoder (Bluffton, OH)
Assignee: Crown Equipment Corporation
G06T7/0085B66F9/122B66F9/24G06T2207/10016
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 8,977,032
App. No.
13/652,563
Granted
Mar 10, 2015
Kind
B2
Abstract

A method is provided for evaluating a possible pallet structure. The method comprises: providing a gray scale image comprising one or more possible lines; providing respective pixel locations in the gray scale image for an estimated upper left corner and an estimated upper right corner; calculating, using a computer, a value h based on the estimated upper left corner location and the estimated upper right corner location; estimating, using the computer, a first hole with a first rectangle having a height h; estimating, using the computer, a second hole with a second rectangle having the height h; and estimating, using the computer, the possible center stringer with a third rectangle having the height h.

Claims (900)

1. A method for evaluating a possible pallet structure comprising:

providing a gray scale image comprising one or more possible lines;

providing respective pixel locations in the gray scale image for an estimated upper left corner of the possible pallet structure and an estimated upper right corner of the possible pallet structure;

calculating, using a computer, a value h based on the estimated upper left corner location and the estimated upper right corner location;

estimating, using the computer, a first hole with a first rectangle having a height h, the first hole corresponding to a left opening located to the left of a possible center stringer of the possible pallet structure;

estimating, using the computer, a second hole with a second rectangle having the height h, the second hole corresponding to a right opening located to the right of the possible center stringer; and

estimating, using the computer, the possible center stringer with a third rectangle having the height h.

2. The method of claim 1 , wherein calculating the value h comprises calculating:

h

=

max

{

round

(

ρ

BPBL

+

x

UpperLeft

sin

φ

BPBL

-

y

UpperLeft

cos

φ

BPBL

)

round

(

ρ

BPBL

+

x

UpperRight

sin

φ

BPBL

-

y

UpperRight

cos

φ

BPBL

)

wherein:

ρ BPBL =an orthogonal distance from an origin point of the gray scale image to a bottom pallet board line, L BPB , passing through a possible lower left corner;

φ BPBL =an angle between a horizontal line and the bottom pallet board line L BPB ;

y UpperLeft =a Y coordinate value for the estimated upper left corner;

y upperRight =a Y coordinate value for the estimated upper right corner;

x UpperLeft =an X coordinate value for the estimated upper left corner;

x UpperRight =an X coordinate value for the estimated upper right corner.

3. The method of claim 2 ,

wherein the first rectangle comprises h lines, each line comprised of a respective set of pixel locations between, and including, a respective first endpoint, with an x-coordinate x 11r and a y-coordinate y 11r , and a respective second endpoint, with an x-coordinate x 12r and a y-coordinate y 12r ,

wherein the second rectangle comprises h lines, each line comprised of a respective set of pixel locations between, and including, a respective first endpoint, with an x-coordinate x 21r and a y-coordinate y 21r , and a respective second endpoint, with an x-coordinate x 22r and a y-coordinate y 22r ,

wherein the third rectangle comprises h lines, each line comprised of a respective set of pixel locations between, and including, a respective first endpoint, with an x-coordinate x 31r and a y-coordinate y 31r , and a respective second endpoint, with an x-coordinate x 32r and a y-coordinate y 32r ; and

wherein r=an index value uniquely referring to one of the respective h lines in each of the first, second and third rectangles, the value of which ranges from 0 to (h−1) with r=0 referring to a bottom-most of the h lines.

4. The method according to claim 3 , further comprising:

for each pixel location in the h lines of the first rectangle, identifying a corresponding pixel value at that pixel location in the gray scale image in order to generate a first set of corresponding pixel values;

for each pixel location in the h lines of the second rectangle, identifying a corresponding pixel value at that pixel location in the gray scale image in order to generate a second set of corresponding pixel values;

for each pixel location in the h lines of the third rectangle, identifying a corresponding pixel value at that pixel location in the gray scale image in order to generate a third set of corresponding pixel values;

generating a first vertical projection of the first and second rectangles based on the first and second sets of corresponding pixel values;

generating a second vertical projection of the third rectangle based on the third set of corresponding pixel values; and

calculating a score value, Score hole , based on the first and second vertical projections, which represents a likelihood that the third rectangle corresponds to an actual center stringer in the gray scale image, that the first rectangle corresponds to a first actual opening positioned to the left of the actual center stringer, and the second rectangle corresponds to a second actual opening positioned to the right of the actual center stringer.

5. The method of claim 4 , wherein only negative pixel values in the first and second corresponding sets of pixel values are used to generate the first vertical projection.

6. The method of claim 4 , wherein only negative pixel values in the third corresponding set of pixel values are used to generate the second vertical projection.

7. The method of claim 3 , wherein the respective first and second endpoint coordinates for each of the h lines of the first rectangle are calculated according to:

x 11r =round( X LLC −leftWidth*cos(φ BPBL ));

x 12r =X LLC −1;

y 11r =round((ρ BPBL −r+x 11r *sin φ BPBL )/cos φ BPBL )), and

y 11r =round((ρ BPBL −r+x 12r *sin φ BPBL )/cos φ BPBL ))

wherein:

X LLC =an x-coordinate for the possible lower left corner through which the bottom pallet board line, L BPB , passes;

leftWidth

=

min

(

floor

(

X

LLC

cos

φ

BPBL

)

,

maxWidth

)

and,

maxWidth=a predetermined value based on a size of the gray scale image.

8. The method according to claim 7 , wherein the respective set of pixel locations for each of the h lines of the first rectangle is comprised of leftCount pixel locations, where leftCount=round(leftWidth*cos(φ BPBL )), the method further comprising:

calculating a first vertical projection of the first rectangle by:

providing a respective accumulator Y i for each of the leftCount pixel locations, where i is an index value uniquely referring to a particular pixel location in the set of pixel locations that comprise one of the h lines of the first rectangle, the value of i ranges from 1 to leftCount with i=1 referring to a left-most pixel location in the one of the h lines of the first rectangle; and

accumulating in each respective accumulator Y i a sum according to:

Y

i

=

r

=

0

r

=

h

-

1

GSPV

ir

where:

GSPV ir =a gray scale pixel value (GSPV) of a pixel from the corresponding gray scale image at a pixel location indicated by an i th position in an r th line of the first rectangle, wherein GSPV ir is added to the respective accumulator sum Y i if GSPV ir is less than zero.

9. The method of claim 8 , wherein the respective first and second endpoint coordinates for each of the h lines in the second rectangle are calculated according to:

x 21r =X LRC +1;

x 22r =round( X LRC +rightWidth*cos(φ BPBL ));

y 21r =round((ρ BPBL −r+x 21r *sin φ BPBL )/cos φ BPBL )), and

y 22r =round((ρ BPBL −r+x 22r *sin φ BPBL )/cos φ BPBL ))

wherein:

X LRC =an x-coordinate for a possible lower right corner of the possible center stringer

rightWidth

=

min

(

floor

(

imageWidth

-

X

LRC

cos

φ

BPBL

)

,

maxWidth

)

,

 and

imageWidth is a number of columns of pixels in the gray scale image.

10. The method according to claim 9 , wherein the respective set of pixel locations for each of the h lines of the second rectangle is comprised of rightCount pixel locations, where rightCount=round(rightWidth*cos(φ BPBL )), the method further comprising:

calculating a second vertical projection of the second rectangle by:

providing a respective accumulator Y i for each of the rightCount pixel locations, where i is an index value unique referring to a particular pixel location in the set of pixel locations that comprise one of the h lines of the second rectangle, the value of i ranges from (leftCount +1) to (leftCount +rightCount) with i=(leftCount +1) referring to a left-most pixel location in the one of the h lines of the second rectangle; and

accumulating in each respective accumulator Y i a sum according to:

Y

i

=

r

=

0

r

=

h

-

1

GSPV

ir

where:

GSPV ir =a gray scale pixel value (GSPV) of a pixel from the corresponding gray scale image at a pixel location indicated by an i th position in the r th line of the second rectangle, wherein GSPV ir is added to the respective accumulator sum Y i if GSPV ir is less than zero.

11. The method of claim 10 , wherein the respective first and second endpoint coordinates for each of the h lines of the third rectangle are calculated according to:

x 31r =X LLC ;

x 32r =X LRC ;

y 31r =round((ρ BPBL −r+x 31r *sin φ BPBL )/cos φ BPBL )), and

y 32r =round((ρ BPBL −r+x 32r *sin φ BPBL )/cos φ BPBL )).

12. The method according to claim 11 , wherein the respective set of pixel locations for each of the h lines of the third rectangle is comprised of s pixel locations, wherein s=((X LRC −X LLC )+1), the method further comprising:

calculating a third vertical projection of the third rectangle by:

providing a respective accumulator Z j for each of the s pixel locations, where j is an index value unique referring to a particular pixel location in the set of pixel locations that comprise one of the h lines of the third rectangle, the value of j ranges from 1 to s with j=1 referring to a left-most pixel location in the one of the h lines of the third rectangle;

accumulating in each respective accumulator Z j a sum according to:

Z

j

=

r

=

0

r

=

h

-

1

GSPV

jr

where:

GSPV jr =a gray scale pixel value (GSPV) of a pixel from the corresponding gray scale image at a pixel location indicated by a j th position in the r th line of the third rectangle, wherein GSPV jr is added to the respective accumulator sum Z j if

GSPV

jr

(

0.75

×

Y

_

h

)

where

:

Y

_

=

1

N

i

=

1

N

Y

i

 and wherein:

N=a number pixel locations in one of the h lines of the first rectangle summed with a number of pixel locations in one of the h lines of the second rectangle.

13. The method according to claim 12 , wherein:

Score

hole

=

1

-

1

N

i

=

1

N

Y

i

-

Y

_

Y

i

+

Y

_

-

Z

_

(

Z

_

+

Y

_

)

and

Z

_

=

1

s

j

=

1

s

Z

j

.

14. A system for evaluating a possible pallet structure comprising:

an imaging camera configured to acquire a gray scale image comprising one or more possible lines;

a computer configured to execute instructions stored in an accessible memory;

the computer when executing instructions stored in the accessible memory:

identifies respective pixel locations in the gray scale image for an estimated upper left corner of the possible pallet structure and an estimated upper right corner of the possible pallet structure;

calculates a value h based on the estimated upper left corner location and the estimated upper right corner location;

estimates a first hole with a first rectangle having a height h, the first hole corresponding to a left opening located to the left of a possible center stringer of the possible pallet structure;

estimates a second hole with a second rectangle having the height h, the second hole corresponding to a right opening located to the right of the possible center stringer; and

estimates the possible center stringer with a third rectangle having the height h.

15. The system of claim 14 , wherein the computer when executing instructions stored in the accessible memory calculates:

h

=

max

{

round

(

ρ

BPBL

+

x

UpperLeft

sin

φ

BPBL

-

y

UpperLeft

cos

φ

BPBL

)

round

(

ρ

BPBL

+

x

UpperRight

sin

φ

BPBL

-

y

UpperRight

cos

φ

BPBL

)

wherein:

ρ BPBL =an orthogonal distance from an origin point of the gray scale image to a bottom pallet board line, L BPB , passing through a possible lower left corner;

φ BPBL =an angle between a horizontal line and the bottom pallet board line L BPB ;

y UpperLeft =a Y coordinate value for the estimated upper left corner;

y upperRight =a Y coordinate value for the estimated upper right corner;

x UpperLeft =an X coordinate value for the estimated upper left corner;

x UpperRight =an X coordinate value for the estimated upper right corner.

16. The system of claim 15 ,

wherein the first rectangle comprises h lines, each line comprised of a respective set of pixel locations between, and including, a respective first endpoint, with an x-coordinate x 11r and a y-coordinate y 11r , and a respective second endpoint, with an x-coordinate x 12r and a y-coordinate y l2r ,

wherein the second rectangle comprises h lines, each line comprised of a respective set of pixel locations between, and including, a respective first endpoint, with an x-coordinate x 21r and a y-coordinate y 21r , and a respective second endpoint, with an x-coordinate x 22r and a y-coordinate y 22r ,

wherein the third rectangle comprises h lines, each line comprised of a respective set of pixel locations between, and including, a respective first endpoint, with an x-coordinate x 31r and a y-coordinate y 31r , and a respective second endpoint, with an x-coordinate x 32r and a y-coordinate y 32r ; and

wherein r=an index value uniquely referring to one of the respective h lines in each of the first, second and third rectangles, the value of which ranges from 0 to (h−1) with r=0 referring to a bottom-most of the h lines.

17. The system according to claim 16 , wherein the computer when executing instructions stored in the accessible memory:

identifies, for each pixel location in the h lines of the first rectangle, a corresponding pixel value at that pixel location in the gray scale image in order to generate a first set of corresponding pixel values;

identifies, for each pixel location in the h lines of the second rectangle, a corresponding pixel value at that pixel location in the gray scale image in order to generate a second set of corresponding pixel values;

identifies, for each pixel location in the h lines of the third rectangle, a corresponding pixel value at that pixel location in the gray scale image in order to generate a third set of corresponding pixel values;

generates a first vertical projection of the first and second rectangles based on the first and second sets of corresponding pixel values;

generates a second vertical projection of the third rectangle based on the third set of corresponding pixel values; and

calculates a score value, Score hole , based on the first and second vertical projections, which represents a likelihood that the third rectangle corresponds to an actual center stringer in the gray scale image, that the first rectangle corresponds to a first actual opening positioned to the left of the actual center stringer, and the second rectangle corresponds to a second actual opening positioned to the right of the actual center stringer.

18. The system of claim 17 , wherein only negative pixel values in the first and second corresponding sets of pixel values are used to generate the first vertical projection.

19. The system of claim 17 , wherein only negative pixel values in the third corresponding set of pixel values are used to generate the second vertical projection.

20. The system of claim 16 , wherein the respective first and second endpoint coordinates for each of the h lines of the first rectangle are calculated according to:

x 11r =round( X LLC −leftWidth*cos(φ BPBL ));

x 12r =X LLC −1;

y 11r =round((ρ BPBL −r+x 11r *sin φ BPBL )/cos φ BPBL )), and

y 12r =round((ρ BPBL −r+x 12r *sin φ BPBL )/cos φ BPBL ))

wherein:

X LLC =an x-coordinate for the possible lower left corner through which the bottom pallet board line, L BPB , passes;

leftWidth

=

min

(

floor

(

X

LLC

cos

φ

BPBL

)

,

maxWidth

)

and,

maxWidth=a predetermined value based on a size of the gray scale image.

21. The system according to claim 20 , wherein the respective set of pixel locations for each of the h lines of the first rectangle is comprised of leftCount pixel locations, where leftCount=round(leftWidth*cos(φ BPBL )), and the computer when executing instructions stored in the accessible memory:

calculates a first vertical projection of the first rectangle by:

providing a respective accumulator Y i , for each of the leftCount pixel locations, where i is an index value uniquely referring to a particular pixel location in the set of pixel locations that comprise one of the h lines of the first rectangle, the value of i ranges from 1 to leftCount with i=1 referring to a left-most pixel location in the one of the h lines of the first rectangle; and

accumulating in each respective accumulator Y i , a sum according to:

Y

i

=

r

=

0

r

=

h

-

1

GSPV

ir

where:

GSPV ir =a gray scale pixel value (GSPV) of a pixel from the corresponding gray scale image at a pixel location indicated by an i th position in an r th line of the first rectangle, wherein GSPV ir is added to the respective accumulator sum Y i , if GSPV ir is less than zero.

22. The system of claim 21 , wherein the respective first and second endpoint coordinates for each of the h lines in the second rectangle are calculated according to:

x 21r =X LRC +1;

x 22r =round( X LRC +rightWidth*cos(φ BPBL ));

y 21r =round((ρ BPBL −r+x 21r *sin φ BPBL )/cos φ BPBL )), and

y 22r =round((ρ BPBL −r+x 22r *sin φ BPBL )/cos φ BPBL ))

wherein:

X LRC =an x-coordinate for a possible lower right corner of the possible center stringer

rightWidth

=

min

(

floor

(

imageWidth

-

X

LRC

cos

φ

BPBL

)

,

maxWidth

)

,

 and

imageWidth is a number of columns of pixels in the gray scale image.

23. The system according to claim 22 , wherein the respective set of pixel locations for each of the h lines of the second rectangle is comprised of rightCount pixel locations, where rightCount=round(rightWidth*cos(φBPBL)), and the computer when executing instructions stored in the accessible memory:

calculates a second vertical projection of the second rectangle by:

providing a respective accumulator Y i for each of the rightCount pixel locations, where i is an index value unique referring to a particular pixel location in the set of pixel locations that comprise one of the h lines of the second rectangle, the value of i ranges from (leftCount +1) to (leftCount +rightCount) with i=(leftCount +1) referring to a left-most pixel location in the one of the h lines of the second rectangle; and

accumulating in each respective accumulator Y i a sum according to:

Y

i

=

r

=

0

r

=

h

-

1

GSPV

ir

where:

GSPV ir =a gray scale pixel value (GSPV) of a pixel from the corresponding gray scale image at a pixel location indicated by an i th position in the r th line of the second rectangle, wherein GSPV ir is added to the respective accumulator sum Y i if GSPV ir is less than zero.

24. The system of claim 23 , wherein the respective first and second endpoint coordinates for each of the h lines of the third rectangle are calculated according to:

x 31r =X LLC ;

x 32r −X LRC ;

y 31r =round((ρ BPBL −r+x 31r *sin φ BPBL )/cos φ BPBL )), and

y 32r =round((ρ BPBL −r+x 32r *sin φ BPBL )/cos φ BPBL )).

25. The system according to claim 24 , wherein the respective set of pixel locations for each of the h lines of the third rectangle is comprised of s pixel locations, wherein s=((X LRC −X LLC )+1), and the computer when executing instructions stored in the accessible memory:

calculates a third vertical projection of the third rectangle by:

providing a respective accumulator Z j for each of the s pixel locations, where j is an index value unique referring to a particular pixel location in the set of pixel locations that comprise one of the h lines of the third rectangle, the value of j ranges from 1 to s with j=1 referring to a left-most pixel location in the one of the h lines of the third rectangle;

accumulating in each respective accumulator Z j a sum according to:

Z

j

=

r

=

0

r

=

h

-

1

GSPV

jr

where:

GSPV jr =a gray scale pixel value (GSPV) of a pixel from the corresponding gray scale image at a pixel location indicated by a j th position in the r th line of the third rectangle, wherein GSPV jr is added to the respective accumulator sum Z j if

GSPV

jr

(

0.75

×

Y

_

h

)

where

:

Y

_

=

1

N

i

=

1

N

Y

i

 and wherein:

N=a number pixel locations in one of the h lines of the first rectangle summed with a number of pixel locations in one of the h lines of the second rectangle.

26. The system according to claim 25 , wherein:

Score

hole

=

1

-

1

N

i

=

1

N

Y

i

-

Y

_

Y

i

+

Y

_

-

Z

_

(

Z

_

+

Y

_

)

and

Z

_

=

1

s

j

=

1

s

Z

j

.

27. A computer program product for evaluating a possible pallet structure in a gray scale image comprising one or more possible lines, comprising:

a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:

computer readable program code configured to identify respective pixel locations in the gray scale image for an estimated upper left corner of the possible pallet structure and an estimated upper right corner of the possible pallet structure;

computer readable program code configured to calculate a value h based on the estimated upper left corner location and the estimated upper right corner location;

computer readable program code configured to estimate a first hole with a first rectangle having a height h, the first hole corresponding to a left opening located to the left of a possible center stringer of the possible pallet structure;

computer readable program code configured to estimate a second hole with a second rectangle having the height h, the second hole corresponding to a right opening located to the right of the possible center stringer; and

computer readable program code configured to estimate the possible center stringer with a third rectangle having the height h.

28. The computer program product of claim 27 , wherein the computer readable program code configured to calculate the value h is further configured to calculate:

h

=

max

{

round

(

ρ

BPBL

+

x

UpperLeft

sin

φ

BPBL

-

y

UpperLeft

cos

φ

BPBL

)

round

(

ρ

BPBL

+

x

UpperRight

sin

φ

BPBL

-

y

UpperRight

cos

φ

BPBL

)

wherein:

ρ BPBL =an orthogonal distance from an origin point of the gray scale image to a bottom pallet board line, L BPB , passing through a possible lower left corner;

φ BPBL =an angle between a horizontal line and the bottom pallet board line L BPB ;

y UpperLeft =a Y coordinate value for the estimated upper left corner;

y upperRight =a Y coordinate value for the estimated upper right corner;

x UpperLeft =an X coordinate value for the estimated upper left corner;

x UpperRight =an X coordinate value for the estimated upper right corner.

29. The computer program product of claim 28 ,

wherein the first rectangle comprises h lines, each line comprised of a respective set of pixel locations between, and including, a respective first endpoint, with an x-coordinate x 11r and a y-coordinate y 11r , and a respective second endpoint, with an x-coordinate x 12r and a y-coordinate y l2r ,

wherein the second rectangle comprises h lines, each line comprised of a respective set of pixel locations between, and including, a respective first endpoint, with an x-coordinate x 21r and a y-coordinate y 21r , and a respective second endpoint, with an x-coordinate x 22r and a y-coordinate y 22r ,

wherein the third rectangle comprises h lines, each line comprised of a respective set of pixel locations between, and including, a respective first endpoint, with an x-coordinate x 31r and a y-coordinate y 31r , and a respective second endpoint, with an x-coordinate x 32r and a y-coordinate y 32r ; and

wherein r=an index value uniquely referring to one of the respective h lines in each of the first, second and third rectangles, the value of which ranges from 0 to (h−1) with r=0 referring to a bottom-most of the h lines.

30. The computer program product according to claim 29 , further comprising:

computer readable program code configured to, for each pixel location in the h lines of the first rectangle, identify a corresponding pixel value at that pixel location in the gray scale image in order to generate a first set of corresponding pixel values;

computer readable program code t configured to, for each pixel location in the h lines of the second rectangle, identify a corresponding pixel value at that pixel location in the gray scale image in order to generate a second set of corresponding pixel values;

computer readable program code configured to, for each pixel location in the h lines of the third rectangle, identify a corresponding pixel value at that pixel location in the gray scale image in order to generate a third set of corresponding pixel values;

computer readable program code configured to generate a first vertical projection of the first and second rectangles based on the first and second sets of corresponding pixel values;

computer readable program code configured to generate a second vertical projection of the third rectangle based on the third set of corresponding pixel values; and

computer readable program code configured to calculate a score value, Score hole , based on the first and second vertical projections, which represents a likelihood that the third rectangle corresponds to an actual center stringer in the gray scale image, that the first rectangle corresponds to a first actual opening positioned to the left of the actual center stringer, and the second rectangle corresponds to a second actual opening positioned to the right of the actual center stringer.

31. The computer program product of claim 30 , wherein only negative pixel values in the first and second corresponding sets of pixel values are used to generate the first vertical projection.

32. The computer program product of claim 30 , wherein only negative pixel values in the third corresponding set of pixel values are used to generate the second vertical projection.

33. The computer program product of claim 29 , wherein the respective first and second endpoint coordinates for each of the h lines of the first rectangle are calculated according to:

x 11r =round( X LLC −leftWidth*cos φ BPBL ));

x 12r =X LLC −1;

y 11r =round((ρ BPBL −r+x 11r *sin φ BPBL )/cos φ BPBL )), and

y 12r =round((ρ BPBL −r+x 12r *sin φ BPBL )/cos φ BPBL ))

wherein:

X LLC =an x-coordinate for the possible lower left corner through which the bottom pallet board line, L BPB , passes;

leftWidth

=

min

(

floor

(

X

LLC

cos

φ

BPBL

)

,

maxWidth

)

and,

maxWidth=a predetermined value based on a size of the gray scale image.

34. The computer program product according to claim 33 , wherein the respective set of pixel locations for each of the h lines of the first rectangle is comprised of leftCount pixel locations, where leftCount=round(leftWidth*cos(φ BPBL )), the computer program product further comprising:

computer readable program code configured to calculate a first vertical projection of the first rectangle by:

providing a respective accumulator Y i for each of the leftCount pixel locations, where i is an index value uniquely referring to a particular pixel location in the set of pixel locations that comprise one of the h lines of the first rectangle, the value of i ranges from 1 to leftCount with i=1 referring to a left-most pixel location in the one of the h lines of the first rectangle; and

accumulating in each respective accumulator Y i a sum according to:

Y

i

=

r

=

0

r

=

h

-

1

GSPV

ir

where:

GSPV ir =a gray scale pixel value (GSPV) of a pixel from the corresponding gray scale image at a pixel location indicated by an i th position in an r th line of the first rectangle, wherein GSPV ir is added to the respective accumulator sum Y i if GSPV ir is less than zero.

35. The computer program product of claim 34 , wherein the respective first and second endpoint coordinates for each of the h lines in the second rectangle are calculated according to:

x 21r =X LRC +1;

x 22r =round( X LRC +rightWidth*cos(φ BPBL ));

y 21r =round((ρ BPBL −r+x 21r *sin φ BPBL /cos φ BPBL )), and

y 22r =round((ρ BPBL −r+x 22r *sin φ BPBL /cos φ BPBL ))

wherein:

X LRC =an x-coordinate for a possible lower right corner of the possible center stringer

rightWidth

=

min

(

floor

(

imageWidth

-

X

LRC

cos

φ

BPBL

)

,

maxWidth

)

,

 and

imageWidth is a number of columns of pixels in the gray scale image.

36. The computer program product according to claim 35 , wherein the respective set of pixel locations for each of the h lines of the second rectangle is comprised of rightCount pixel locations, where rightCount=round(rightWidth*cos(φ BPBL )), the computer program product further comprising:

computer readable program code configured to calculate a second vertical projection of the second rectangle by:

providing a respective accumulator Y i for each of the rightCount pixel locations, where i is an index value unique referring to a particular pixel location in the set of pixel locations that comprise one of the h lines of the second rectangle, the value of i ranges from (leftCount +1) to (leftCount +rightCount) with i=(leftCount +1) referring to a left-most pixel location in the one of the h lines of the second rectangle; and

accumulating in each respective accumulator Y i a sum according to:

Y

i

=

r

=

0

r

=

h

-

1

GSPV

ir

where:

GSPV ir =a gray scale pixel value (GSPV) of a pixel from the corresponding gray scale image at a pixel location indicated by an i th position in the r th line of the second rectangle, wherein GSPV ir is added to the respective accumulator sum Y i if GSPV ir is less than zero.

37. The computer program product of claim 36 , wherein the respective first and second endpoint coordinates for each of the h lines of the third rectangle are calculated according to:

x 31r =X LLC ;

x 32r =X LRC ;

y 31r =round((ρ BPBL −r+x 31r *sin φ BPBL )/cos φ BPBL )), and

y 32r =round((ρ BPBL −r+x 32r *sin φ BPBL )/cos φ BPBL )).

38. The computer program product according to claim 37 , wherein the respective set of pixel locations for each of the h lines of the third rectangle is comprised of s pixel locations, wherein s=((X LRC −X LLC )+1), the computer program product further comprising:

computer readable program code configured to calculate a third vertical projection of the third rectangle by:

providing a respective accumulator Z j for each of the s pixel locations, where j is an index value unique referring to a particular pixel location in the set of pixel locations that comprise one of the h lines of the third rectangle, the value of j ranges from 1 to s with j=1 referring to a left-most pixel location in the one of the h lines of the third rectangle;

accumulating in each respective accumulator Z j a sum according to:

Z

j

=

r

=

0

r

=

h

-

1

GSPV

jr

where:

GSPV jr =a gray scale pixel value (GSPV) of a pixel from the corresponding gray scale image at a pixel location indicated by a j th position in the r th line of the third rectangle, wherein GSPV jr is added to the respective accumulator sum Z j if

GSPV

jr

(

0.75

×

Y

_

h

)

where

:

Y

_

=

1

N

i

=

1

N

Y

i

 and wherein:

N=a number pixel locations in one of the h lines of the first rectangle summed with a number of pixel locations in one of the h lines of the second rectangle.

39. The computer program product according to claim 38 , wherein:

Score

hole

=

1

-

1

N

i

=

1

N

Y

i

-

Y

_

Y

i

+

Y

_

-

Z

_

(

Z

_

+

Y

_

)

and

Z

_

=

1

s

j

=

1

s

Z

j

.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2013
From: HOLEVA, LEE F.; ELSTON, EDWIN R.; SEELINGER, MICHAEL J.; YODER, JOHN-DAVID S.
To: CROWN EQUIPMENT CORPORATION
Reel/Frame 029647/0172 →
Continuity (4)
Provisional Application 61548776 · Oct 19, 2011
Provisional Application 61569596 · Dec 12, 2011
Provisional Application 61709611 · Oct 4, 2012
Related Publication 20130101203A1 · Apr 25, 2013