Claims
- 1. A method of determining at least one component of spin of a golf ball having a mark thereon, the method comprising:
receiving first and second images of the golf ball captured at different times during flight of the golf ball; mapping, for each image of the golf ball, at least some pixels that are representative of the mark on the golf ball to corresponding locations within a three dimensional coordinate system; generating a plurality of candidate planes for each image of the golf ball, each candidate plane extending through the respective locations of at least two pixels that have been mapped to the three dimensional coordinate system; determining a respective reference plane for each image of the golf ball based upon the plurality of candidate planes for the respective image of the golf ball; and determining at least one component of spin of the golf ball based upon the respective reference planes for the first and second images of the golf ball.
- 2. A method according to claim 1 wherein determining the respective reference plane for each image of the golf ball comprises representing the respective reference plane for each image of the golf ball with a vector extending through a center of the golf ball.
- 3. A method according to claim 2 wherein determining at least one component of spin of the golf ball comprises determining at least one of backspin, sidespin and rifle spin based upon a cross product of the vectors representing the respective reference planes for the first and second images of the golf ball.
- 4. A method according to claim 2 further comprising determining total revolutions per minute of the golf ball based upon a dot product of the vectors representing the respective reference planes for the first and second images of the golf ball.
- 5. A method according to claim 1 wherein mapping at least some pixels that are representative of the mark on the golf ball to corresponding locations within the three dimensional coordinate system comprises determining latitude and longitude values for at least some pixels that are representative of the mark on the golf ball.
- 6. A method according to claim 1 wherein mapping at least some pixels that are representative of the mark on the golf ball to corresponding locations within the three dimensional coordinate system comprises mapping pixels that are both representative of the mark on the golf ball and spaced apart from one another to corresponding locations within the three dimensional coordinate system.
- 7. A method according to claim 1 wherein generating the plurality of candidate planes comprises generating each candidate plane to extend through at least two pixels that have been mapped to the three dimensional coordinate system and a center of the golf ball.
- 8. A method according to claim 1 wherein determining the respective reference plane for each image of the golf ball comprising determining the reference plane for a respective image of the golf ball based upon an average of the plurality of candidate planes for the respective image of the golf ball.
- 9. A method according to claim 1 further comprising distinguishing pixels representative of the mark on the golf ball from pixels representative of unmarked portions of the golf ball.
- 10. A method according to claim 1 further comprising capturing the first and second images of the golf ball with a single camera.
- 11. A method according to claim 1 wherein the golf ball has only a single mark.
- 12. An apparatus for determining at least one component of spin of a golf ball having a mark thereon, the apparatus comprising:
processing circuitry for: (i) receiving first and second images of the golf ball captured at different times during flight of the golf ball; (ii) mapping, for each image of the golf ball, at least some pixels that are representative of the mark on the golf ball to corresponding locations within a three dimensional coordinate system; (iii) generating a plurality of candidate planes for each image of the golf ball, each candidate plane extending through the respective locations of at least two pixels that have been mapped to the three dimensional coordinate system; (iv) determining a respective reference plane for each image of the golf ball based upon the plurality of candidate planes for the respective image of the golf ball, and (v) determining at least one component of spin of the golf ball based upon the respective reference planes for the first and second images of the golf ball.
- 13. An apparatus according to claim 12 wherein said processing circuitry represents the respective reference plane for each image of the golf ball with a vector extending through a center of the golf ball.
- 14. An apparatus according to claim 13 wherein said processing circuitry determines at least one component of spin of the golf ball by determining at least one of backspin, sidespin and rifle spin based upon a cross product of the vectors representing the respective reference planes for the first and second images of the golf ball.
- 15. An apparatus according to claim 13 wherein said processing circuitry also determines total revolutions per minute of the golf ball based upon a dot product of the vectors representing the respective reference planes for the first and second images of the golf ball.
- 16. An apparatus according to claim 12 wherein said processing circuitry maps at least some pixels that are representative of the mark on the golf ball to corresponding locations within the three dimensional coordinate system by mapping pixels that are both representative of the mark on the golf ball and spaced apart from one another to corresponding locations within the three dimensional coordinate system.
- 17. An apparatus according to claim 12 wherein said processing circuitry also distinguishes pixels representative of the mark on the golf ball from pixels representative of unmarked portions of the golf ball.
- 18. An apparatus according to claim 12 further comprising a single camera for capturing the first and second images of the golf ball.
- 19. A computer program product for determining at least one component of spin of a golf ball having a mark thereon, the computer program product comprising a computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program portions comprising:
a first executable portion for receiving first and second images of the golf ball captured at different times during flight of the golf ball; a second executable portion for mapping, for each image of the golf ball, at least some pixels that are representative of the mark on the golf ball to corresponding locations within a three dimensional coordinate system; a third executable portion for generating a plurality of candidate planes for each image of the golf ball, each candidate plane extending through the respective locations of at least two pixels that have been mapped to the three dimensional coordinate system; a fourth executable portion for determining a respective reference plane for each image of the golf ball based upon the plurality of candidate planes for the respective image of the golf ball; and a fifth executable portion for determining at least one component of spin of the golf ball based upon the respective reference planes for the first and second images of the golf ball.
- 20. A computer program product according to claim 19 wherein said fourth executable portion is further capable of representing the respective reference plane for each image of the golf ball with a vector extending through a center of the golf ball.
- 21. A computer program product according to claim 20 wherein said fifth executable portion determines at least one component of spin of the golf ball by determining at least one of backspin, sidespin and rifle spin based upon a cross product of the vectors representing the respective reference planes for the first and second images of the golf ball.
- 22. A computer program product according to claim 20 further comprising a sixth executable portion for determining total revolutions per minute of the golf ball based upon a dot product of the vectors representing the respective reference planes for the first and second images of the golf ball.
- 23. A computer program product according to claim 19 wherein said second executable portion maps at least some pixels that are representative of the mark on the golf ball to corresponding locations within the three dimensional coordinate system by mapping pixels that are both representative of the mark on the golf ball and spaced apart from one another to corresponding locations within the three dimensional coordinate system.
- 24. A computer program product according to claim 19 wherein said third executable portion generates the plurality of candidate planes by generating each candidate plane to extend through at least two pixels that have been mapped to the three dimensional coordinate system and a center of the golf ball.
- 25. A computer program product according to claim 19 further comprising a sixth executable portion for distinguishing pixels representative of the mark on the golf ball from pixels representative of unmarked portions of the golf ball.
- 26. A method of identifying pixels representative of a golf ball within an image, comprising:
constructing a distribution of pixel values from a smallest pixel value to a largest pixel value; and identifying a predefined number of pixels that are closest in value to one of the smallest pixel value and the largest pixel value to be representative of the golf ball.
- 27. A method according to claim 26 wherein constructing the distribution comprises constructing the distribution based upon all of the pixels within the image.
- 28. A method according to claim 26 wherein identifying the predefined number of pixels comprises identifying a predefined number of pixels based upon the number of pixels representative of the golf ball.
- 29. A method of detecting an edge of a golf ball within an image, comprising:
determining an approximation of the edge of the golf ball; evaluating respective pixel values of pixels extending in a radial direction both interior and exterior of the approximation of the edge of the golf ball to determine an edge location based upon a predefined relationship between the pixel values of adjacent pixels; and determining the edge of the golf ball based upon a plurality of edge locations at different respective radial positions about at least a portion of the circumference of the golf ball.
- 30. A method according to claim 29 wherein evaluating respective pixel values comprises evaluating average pixel values of adjacent groups of pixels in the radial direction.
- 31. A method according to claim 29 further comprising repeating the evaluation of the respective pixel values for different groups of pixels extending in the radial direction.
- 32. A method according to claim 29 wherein determining the edge of the golf ball comprises constructing a plurality of candidate edges, each edge represented by a circle including at least three edge locations.
- 33. A method according to claim 32 wherein determining the edge of the golf ball comprises selecting the edge of the golf ball based upon the plurality of candidate edges.
- 34. A method of calibrating an image of a golf ball, comprising:
capturing the image of the golf ball; determining a diameter of the golf ball and a number of pixels within the image that represent the golf ball; determining a scale of the image based upon the diameter of the golf ball and the number of pixels that represent the golf ball; and determining at least one parameter associated with a flight of the golf ball based upon the scale of the image.
- 35. A method according to claim 34 further comprising repeating said determining steps for each image that is captured.
- 36. A method according to claim 34 wherein capturing the image comprises capturing first and second images of the golf ball at different times during flight of the golf ball, and wherein determining at least one parameter comprises determining at least one parameter based upon a distance between the first and second images of the golf ball and the scale of the image.
- 37. An apparatus for calibrating an image of a golf ball, comprising:
processing circuitry for: (i) receiving the image of the golf ball, (ii) determining a diameter of the golf ball and a number of pixels within the image that represent the golf ball, (iii) determining a scale of the image based upon the diameter of the golf ball and the number of pixels that represent the golf ball, and (iv) determining at least one parameter associated with a flight of the golf ball based upon the scale of the image.
- 38. An apparatus according to claim 37 wherein said processing circuitry repeating said determining steps for each image that is received.
- 39. An apparatus according to claim 37 wherein said processing circuitry receives first and second images of the golf ball at different times during flight of the golf ball, and wherein said processing circuitry determines at least one parameter based upon a distance between the first and second images of the golf ball and the scale of the image.
- 40. A computer program product for calibrating an image of a golf ball, the computer program product comprising a computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program portions comprising:
a first executable portion for receiving the image of the golf ball; a second executable portion for determining a diameter of the golf ball and a number of pixels within the image that represent the golf ball; a third executable portion for determining a scale of the image based upon the diameter of the golf ball and the number of pixels that represent the golf ball; and a fourth executable portion for determining at least one parameter associated with a flight of the golf ball based upon the scale of the image.
- 41. A computer program product according to claim 40 wherein said first executable portion receives first and second images of the golf ball at different times during flight of the golf ball, and wherein said fourth executable portion determines at least one parameter based upon a distance between the first and second images of the golf ball and the scale of the image.
CROSS REFERENCE TO RELATED APPLICATION(S)
[0001] The present application claims priority from a provisional application bearing Application No. 60/355,474 filed Feb. 7, 2002 and entitled “Launch Monitor and Associated Methods for Processing Images of a Golf Ball”, the contents of which are incorporated herein in their entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60355474 |
Feb 2002 |
US |