High-performance closed-form single-scan calculation of oblong-shape rotation angles from image data of arbitrary size and location using running sums
First Claim
1. A computer-implemented method for computing an orientation angle of an image of an oblong shape using a processor, the image of the oblong shape comprising thresholded pixels within image data, wherein each thresholded pixel is a scalar measurement comprising a numerical value exceeding a threshold, the method comprising:
- determining a cumulative sum of the square of row indices of thresholded pixels, wherein an thresholded 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 thresholded pixels;
determining a cumulative sum of the product of row and column indices of thresholded 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 orientation angle of the oblong shape of binary-valued image data according to the value using an inverse trigonometric function operation; and
providing the computed orientation angle as an output.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for calculating oblong-shape rotation angles from image data 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.
142 Citations
20 Claims
-
1. A computer-implemented method for computing an orientation angle of an image of an oblong shape using a processor, the image of the oblong shape comprising thresholded pixels within image data, wherein each thresholded pixel is a scalar measurement comprising a numerical value exceeding a threshold, the method comprising:
-
determining a cumulative sum of the square of row indices of thresholded pixels, wherein an thresholded 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 thresholded pixels;
determining a cumulative sum of the product of row and column indices of thresholded 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 orientation angle of the oblong shape of binary-valued image data according to the value using an inverse trigonometric function operation; and providing the computed orientation angle as an output. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer implemented data processing system comprising:
- a memory that stores image data; and
a processor in communication with the memory that;receives the image data, the image data 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 scalar measurement, the image data comprising a subset of pixels having values above a threshold value that are arranged in an oblong shape within the image data; perform threshold operations on each pixel of the image data to produce binary image data to generate the oblong shape; 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; computes a first cumulative sum of the square of centered row index values of the subset of pixels having values above the threshold value, second cumulative sum of the square of centered column index values of the subset of pixels having values above the threshold value, and a third cumulative sum of the product of centered row index values and centered column index values of the subset of pixels having values above the threshold value; 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 as an output. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
- a memory that stores image data; and
Specification