System and method for the detection of a circle image for pattern recognition
First Claim
1. A method for detecting a predetermined sized circle in an image being scanned with an image analyzing and pattern recognition system, comprising the steps of:
- (a) determining whether a pixel in an image being scanned is an edge pixel;
(b) determining a gradient vector associated with said edge pixel based upon an intensity of said edge pixel and on intensities of a predetermined number of pixels near said edge pixel;
( c) modifying at least a direction of said gradient vector based upon the intensity of a pair of pixels located perpendicularly to said gradient vector and at a predetermined distance from said edge pixel, said pair of pixels having a substantially similar intensity value;
(d) determining whether said edge pixel has a lower intensity value than that of said pair of pixels, said edge pixel with the lower intensity value defining a circle edge pixel;
(e) determining coordinates of a center of the predetermined sized circle based upon said circle edge pixel and said modified gradient vector;
(f) storing said coordinates in memory;
(g) repeating steps (a)-(f) for each of a plurality of pixels in the image being scanned;
(h) determining whether said coordinates of said center of said predetermined sized circle for said circle edge pixel are the same as other sets of said coordinates for other ones of said circle edge pixel; and
(i) detecting a circle defined by said circle edge pixels having said centers within a predetermined range of each other.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention generally relates to pattern recognition systems, and particularly to the detection of a circle from a complex image that combines circles, straight lines, and other shapes. The system of the invention determines whether a pixel in an image being scanned is an edge pixel, and derives a gradient vector associated with the edge pixel. The direction of the gradient vector is modified toward a center of a circle incorporating the edge pixel, and then whether the edge pixel is a circle edge pixel is determined. If the edge pixel is a circle edge pixel, coordinates of a center of a circle for the edge pixel are calculated, and stored in memory. After the above steps are repeated for the other pixels in the image being scanned, the system determines whether coordinates of a calculated center of a circle for any circle edge pixel are the same for other circle edge pixels. If so, a circle is considered to be detected based on the circle edge pixels having calculated centers within a predetermined range of each other and within a predetermined frequency of occurrence.
71 Citations
15 Claims
-
1. A method for detecting a predetermined sized circle in an image being scanned with an image analyzing and pattern recognition system, comprising the steps of:
-
(a) determining whether a pixel in an image being scanned is an edge pixel; (b) determining a gradient vector associated with said edge pixel based upon an intensity of said edge pixel and on intensities of a predetermined number of pixels near said edge pixel; ( c) modifying at least a direction of said gradient vector based upon the intensity of a pair of pixels located perpendicularly to said gradient vector and at a predetermined distance from said edge pixel, said pair of pixels having a substantially similar intensity value; (d) determining whether said edge pixel has a lower intensity value than that of said pair of pixels, said edge pixel with the lower intensity value defining a circle edge pixel; (e) determining coordinates of a center of the predetermined sized circle based upon said circle edge pixel and said modified gradient vector; (f) storing said coordinates in memory; (g) repeating steps (a)-(f) for each of a plurality of pixels in the image being scanned; (h) determining whether said coordinates of said center of said predetermined sized circle for said circle edge pixel are the same as other sets of said coordinates for other ones of said circle edge pixel; and (i) detecting a circle defined by said circle edge pixels having said centers within a predetermined range of each other. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for detecting a predetermined sized circle in an image being scanned with an image analyzing the pattern recognition system, comprising the steps of:
-
(a) determining whether a pixel in an image being scanned is an edge pixel; (b) determining a gradient vector associated with said edge pixel based on an intensity of said edge pixel and on intensities of a predetermined number of pixels near said edge pixel, said predetermined number of pixels having a substantially similar intensity value; (c) determining whether said edge pixel has a lower intensity value than that of said predetermined number of pixels, said edge pixel with the lower intensity value defining a circle edge pixel; (d) determining coordinates of a center of a predetermined sized circle based upon said circle edge pixel and said gradient vector; (e) repeating steps (a)-(d) for each of a plurality of pixels in the image being scanned; (f) determining whether said coordinates of said center of said predetermined sized circle for said circle edge pixel are the same as other sets of said coordinates for other ones of said circle edge pixel; and (g) detecting a circle defined by said circle edge pixels having said centers within a predetermined range of each other. - View Dependent Claims (10)
-
-
11. A system for detecting a predetermined sized circle in a gray image being scanned by an image detecting and analyzing device, the device detecting and analyzing individual pixels in the gray image, said system comprising:
-
a gradient vector calculator for calculating for calculating a gradient vector for each pixel in a gray image being scanned, said gradient vector calculator including a gradient vector buffer for storing data on said gradient vector; an edge detector that determines whether each pixel in the gray image being scanned is an edge pixel based upon intensities of a predetermined number of pixels near said edge pixel; a rotator in response to said edge detector to modify a direction of said gradient vector based upon the intensity of a pair of pixels located perpendicularly to said gradient vector and at a predetermined distance from said edge pixel, said pair of pixels having a substantially similar intensity value; a circle edge detector connected to said rotator to determine whether said edge pixel has a lower intensity value than that of said pair of pixels, said edge pixel with the lower intensity value defining a circle edge pixel; a circle center calculator in response to said circle edge detector to calculate a center of the predetermined sized circle based upon said circle edge pixel and said modified gradient vector; an accumulator connected to said circle center calculator to store data on the calculated circle center, said accumulator including an accumulator buffer; and a circle detector connected to said accumulator to determine whether a circle is present in the gray image being scanned based on the data on the calculated circle centers in said accumulator. - View Dependent Claims (12, 13)
-
-
14. A system for detecting a predetermined sized circle in a gray image being scanned by an image detecting and analyzing device, the device detecting and analyzing individual pixels in the gray image, said system comprising:
-
a gradient vector calculator that calculates a gradient vector for each pixel in a gray image being scanned, said gradient vector calculator including a gradient vector buffer for storing data on calculated gradient vectors; an edge detector that determines whether each pixel in the gray image being scanned is an edge pixel based upon intensities of a predetermined number of pixels near said edge pixel; a circle edge detector that determines whether said edge pixel has a lower intensity value than that of said predetermined number of pixels which have a substantially similar intensity value, said edge pixel with the lower intensity value defining a circle edge pixel; a circle center calculator activated by said circle edge detector to calculate a center of the predetermined sized circle based upon said circle edge pixel and said gradient vector; an accumulator connected to said circle center calculator to store data on calculated circle centers, said accumulator including an accumulator buffer; and a circle detector connected to said accumulator to determine whether a circle is present in the gray image being scanned based on the data on calculated circle centers in said accumulator. - View Dependent Claims (15)
-
Specification