High-performance closed-form single-scan calculation of oblong-shape rotation angles from binary images of arbitrary size and location using running sums
First Claim
1. A method for computing a yaw angle of an oblong shape using a processor, the oblong shape being comprised of binary-valued image data formed of an array of active pixels, wherein each active pixel is a scalar measurement comprising a binary-valued numerical value, the method comprising:
- determining a cumulative sum of the square of row indices of active pixels, wherein an active pixel is defined as a measurement data element within the binary-valued image data having a specified binary numerical value;
determining a cumulative sum of the square of column indices of active pixels;
determining a cumulative sum of the product of row and column indices of active pixels;
determining a value according to a closed form algebraic formula comprising the cumulative sum of the square of row indices, the cumulative sum of the square of column indices, and the cumulative sum of the product of row and column indices;
determining the computed yaw angle of the oblong shape of binary-valued image data according to the value using an inverse trigonometric function operation; and
providing the computed yaw angle as an output for use by additional software.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for calculating oblong-shape rotation angles from binary images of arbitrary size using running sums is described without the need of eigenvector routines and storage of the image data. The oblong shape may be of arbitrary size and location and need not be precisely elliptical. A few running sums are calculated and stored throughout each scan, and the results are obtained in closed form by simple post-scan computation. An algorithmic embodiment can execute on one or more hardware processors with limited or otherwise constrained computation power, available instruction cycles, available memory, etc. Hardware processors may CPUs found in desktops, laptops, tablets, or handheld computing devices. The resulting arrangement may be used for touch or optical user interfaces, real-time image recognition, real-time machine vision, and other purposes.
170 Citations
20 Claims
-
1. A method for computing a yaw angle of an oblong shape using a processor, the oblong shape being comprised of binary-valued image data formed of an array of active pixels, wherein each active pixel is a scalar measurement comprising a binary-valued numerical value, the method comprising:
-
determining a cumulative sum of the square of row indices of active pixels, wherein an active pixel is defined as a measurement data element within the binary-valued image data having a specified binary numerical value;
determining a cumulative sum of the square of column indices of active pixels;determining a cumulative sum of the product of row and column indices of active pixels; determining a value according to a closed form algebraic formula comprising the cumulative sum of the square of row indices, the cumulative sum of the square of column indices, and the cumulative sum of the product of row and column indices;
determining the computed yaw angle of the oblong shape of binary-valued image data according to the value using an inverse trigonometric function operation; and
providing the computed yaw angle as an output for use by additional software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer implemented data processing system comprising:
-
a memory that stores binary-valued image data; and a processor in communication with the memory that; receives the binary-valued image data, the binary-valued image comprising an array of pixels having rows and columns wherein each row and column has a unique associated index value, and each pixel having has a unique row index value and column index value wherein each pixel further comprises a binary value defined as a scalar measurement, the binary-valued image data comprising a subset of pixels arranged to form an oblong shape within the image data; computes the geometric center of the oblong shape, the geometric center comprising a row center value and a column center value; defines a corresponding centered row index value by subtracting the row center value from the row index value for each row index value; defines a corresponding centered column index value by subtracting the column center value from the column index value for each column index value; defines an active pixel as a measurement data element within the binary-valued image data exceeding a specified value; computes a first cumulative sum of the square of centered row index values of active pixels, second cumulative sum of the square of centered column index values of active pixels, and a third cumulative sum of the product of centered row index values and centered column index values of active pixels; computes one or more numerical quantities within a closed form algebraic formula for a ratio of two terms of an inertial matrix defined by the binary-valued image data using each of first, second, and third cumulative sums; transforms the ratio into a calculated numerical angle value using an inverse trigonometric function operation; and provides the calculated numerical angle value to additional software. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification