Image processing method and apparatus for extracting lines from an image by using the Hough transform
First Claim
1. An image processing apparatus for extracting a line in an image space by using a Hough transform to map the line from the image space onto one of a plurality of points in a Hough space, said image processing apparatus comprising:
- a plurality of processor elements each being respectively assigned to one of a plurality of accumulator cells of the Hough space, each of said plurality of accumulator cells corresponding to a respective one of the plurality of points in the Hough space; and
means for sequentially reading image space pixels on a scanning line in the image space, the sequential reading means determining whether or not a pixel being read from among said image space pixels is a Hough transform object point having a value other than zero, the sequential reading means obtaining coordinate values of the image space pixel when the pixel is the Hough transform object point, the sequential reading means supplying the coordinate values of the image space pixel to respective ones of said plurality of processor elements;
wherein each of said plurality of processor elements includes;
a ballot box memory for storing a number of votes;
means for obtaining, for each of a plurality of scanning lines, coordinate values of an intersection of a respective scanning line and a line in image space corresponding to the plurality of processor elements;
means for comparing coordinate values of said Hough transform object point with the coordinate values of said intersection, and storing data as a comparison result as to whether there is coincidence or non-coincidence between the Hough transform object point coordinate values and the intersection coordinate values; and
means for providing a vote to said ballot box memory when the Hough transform object point coordinate values are coincident with the intersection coordinate values, the vote being provided after the comparison result has been obtained for each pixel on said scanning line;
wherein after each of the plurality of scanning lines of the image space have been processed, a line is extracted which corresponds to the processor element whose ballot box memory has a maximum number of votes.
2 Assignments
0 Petitions
Accused Products
Abstract
An image processing apparatus for extracting lines from an image using the Hough transform. A processor element is assigned to each quantization point in a Hough space. Each processor element calculates, for each scanning line of the image, intersections of the scanning line and the line corresponding to this processor element once per scanning line. A black pixel (a Hough transform object point) on the scanning line is also obtained sequentially. The coordinate values of the intersection are compared with those of the Hough transform object point, and when they agree, voting to a ballot box memory of the processor element is performed. The voting results become Hough transform data. This makes it possible to implement a high speed Hough transform, and to reduce the size of the apparatus.
95 Citations
6 Claims
-
1. An image processing apparatus for extracting a line in an image space by using a Hough transform to map the line from the image space onto one of a plurality of points in a Hough space, said image processing apparatus comprising:
-
a plurality of processor elements each being respectively assigned to one of a plurality of accumulator cells of the Hough space, each of said plurality of accumulator cells corresponding to a respective one of the plurality of points in the Hough space; and means for sequentially reading image space pixels on a scanning line in the image space, the sequential reading means determining whether or not a pixel being read from among said image space pixels is a Hough transform object point having a value other than zero, the sequential reading means obtaining coordinate values of the image space pixel when the pixel is the Hough transform object point, the sequential reading means supplying the coordinate values of the image space pixel to respective ones of said plurality of processor elements; wherein each of said plurality of processor elements includes; a ballot box memory for storing a number of votes; means for obtaining, for each of a plurality of scanning lines, coordinate values of an intersection of a respective scanning line and a line in image space corresponding to the plurality of processor elements; means for comparing coordinate values of said Hough transform object point with the coordinate values of said intersection, and storing data as a comparison result as to whether there is coincidence or non-coincidence between the Hough transform object point coordinate values and the intersection coordinate values; and means for providing a vote to said ballot box memory when the Hough transform object point coordinate values are coincident with the intersection coordinate values, the vote being provided after the comparison result has been obtained for each pixel on said scanning line; wherein after each of the plurality of scanning lines of the image space have been processed, a line is extracted which corresponds to the processor element whose ballot box memory has a maximum number of votes. - View Dependent Claims (2)
-
-
3. An image processing apparatus for extracting a line in an image space by using a Hough transform to map a line from the image space represented by ρ
- =xcosθ
+ysinθ
onto a point (ρ
, θ
) in Hough space (where ρ
is a length of a chord from an origin of the image space perpendicular to the line, and θ
is an angle of the chord from a positive X axis in image space), said apparatus comprising;a plurality of processor elements respectively corresponding to a plurality of Hough quantization points in a first section of the Hough space, the Hough space being divided into the first section (0≦
θ
<
π
/4), a second section (π
/4≦
θ
<
π
/2), a third section (π
/2≦
θ
<
3π
/4), and a fourth section (3π
/4≦
θ
<
π
) in accordance with a value of θ
,means for sequentially reading pixels on a first scanning line along an X-axis in the image space, and determining whether one pixel being read from among said pixels along said X-axis is a Hough transform object point having a value other than zero, and, when the pixel along said X-axis is the Hough transform object point, obtaining an X-axis coordinate value of `m` and a value of `-m`, obtained by inverting a sign of the coordinate value of `m`, and supplying the X-axis coordinate values to respective ones of said plurality of processor elements; means for sequentially reading pixels on a second scanning line along a Y-axis in the image space, and determining whether one pixel being read from among said pixels along said Y-axis is a Hough transform object point having a value other than zero, and, when the pixel along said Y-axis is the Hough transform object point, obtaining a Y-axis coordinate value of `n` and a value of `-n`, by inverting a sign of the coordinate value `n`, and supplying the Y-axis coordinate values to respective ones of said plurality of processor elements; each of the plurality of processor elements (i, j) including four Hough quantization ballot box memories having a first ballot box (ρ
i, θ
j), a second ballot box (ρ
i, (π
/2)-θ
j), a third ballot box (-ρ
i, (π
/2)+θ
j) and a fourth ballot box (ρ
i, π
-θ
j) wherein 0≦
θ
j<
π
/4;means for calculating coordinate values of an intersection of a line for each of said plurality of processor elements and a scanning line defined by y=k; first memory means for comparing and determining coincidence between the coordinate value `m` of the Hough transform object point and the intersection coordinate values, and storing the result of the determination as a first comparison result; fourth memory means for comparing and determining coincidence between the value `-m` and the intersection coordinate values, and storing the result of the determination as a fourth comparison result; second memory means for comparing and determining coincidence between the coordinate value `n` of said Hough transform object point and the intersection coordinate values, and storing the result of the determination as a second comparison result; third memory means for comparing and determining coincidence between the value `-n` and the intersection coordinate values, and storing the result of the determination as a third comparison result; and means for voting to a first ballot box memory when coincidence is determined by and stored in said first memory means, voting to a second ballot box memory when coincidence is determined by and stored in said second memory means, voting to a third ballot box memory when coincidence is determined by and stored in said third memory means, and voting to a fourth ballot box memory when coincidence is determined by and stored in said fourth memory means, said voting being performed after the comparison results have been obtained for all pixels on the first and second scanning lines; and wherein a line is extracted which corresponds to a processor element from among said plurality of processor elements whose ballot box memory has a maximum number of votes. - View Dependent Claims (4)
- =xcosθ
-
5. An image processing method for extracting a line in an image space by using a Hough transform to map a line from the image space onto one of a plurality of points in a Hough space, said method utilizing a plurality of processor elements respectively assigned to a respective one of a plurality of accumulator cells of the Hough space, each of said plurality of accumulator cells corresponding to a respective one of the plurality of points in the Hough space, the method comprising the steps of:
-
sequentially reading image space pixels on a scanning line in the image space; determining whether or not a pixel being read from among said image space pixels is a Hough transform object point having a value other than zero; obtaining coordinate values of the image space pixel when the pixel is the Hough transform object point; supplying the coordinate values of the image space pixel to respective ones of said plurality of processor elements; obtaining, in each of the plurality of processor elements, for each of a plurality of scanning lines, coordinate values of an intersection of a respective scanning line and a line in image space corresponding to the plurality of processor elements; comparing, in each of the plurality of processor elements, the Hough transform object point coordinate values with the intersection coordinate values; storing, in each of the plurality of processor elements, data as a comparison result as to whether there is coincidence or non-coincidence between the Hough transform object point coordinate values and the intersection coordinate values; voting, in each of the plurality of processor elements, to a ballot box memory when the Hough transform object point coordinate values are coincident with the intersection coordinate values after the comparison result has been obtained for each pixel on the scanning line; and extracting after all the scanning lines of the image space have been processed, a line which corresponds to the processor element whose ballot box memory has a maximum number of votes.
-
-
6. An image processing method for extracting a line in an image space by using a Hough transform to map a line from the image space as represented by ρ
- =xcosθ
+ysinθ
onto a point (ρ
, θ
) in Hough space (where ρ
is a length of a chord from an origin of the image space perpendicular to the line, and θ
is an angle of the chord from a positive X axis in the image space), said method utilizing a plurality of processor elements respectively corresponding to a plurality of Hough quantization points in a first section of Hough space, the Hough space being divided into the first section (0≦
θ
<
π
/4), a second section (π
/4≦
θ
<
π
/2), a third section (π
/2≦
θ
<
3π
/4), and a fourth section (3π
/4≦
θ
<
π
) in accordance with a value of θ
, each of the plurality of processor elements (i, j) including four Hough quantization ballot box memories having a first ballot box (ρ
i, θ
j), a second ballot box (ρ
i, (π
/2)-θ
j), a third ballot box (-ρ
i, (π
/2)+θ
j) and a fourth ballot box (ρ
i, π
-θ
j) wherein 0≦
θ
j<
π
/4, the method comprising the steps of;sequentially reading pixels on a first scanning line along an X-axis in the image space, and determining whether one pixel being read from among said pixels along said X-axis is a Hough transform object point having a value other than zero, and, when the pixel along said X-axis is the Hough transform object point, obtaining an X-axis coordinate value of `m` and a value of `-m`, by inverting a sign of the coordinate value of `m`, and supplying the X-axis coordinate values to respective ones of said plurality of processor elements; sequentially reading pixels on a second scanning line along a Y-axis in the image space, and determining whether one pixel being read from among said pixels along said Y-axis is a Hough transform object point having a value other than zero, and, when the pixel along said Y-axis is the Hough transform object point, obtaining a Y-axis coordinate value of `n` and a value of `-n` by inverting a sign of the coordinate value `n`, and supplying the Y-axis coordinate values to respective ones of said plurality of processor elements; calculating coordinate values of an intersection of a line for each of said plurality of processor elements and a scanning line defined by y=k; comparing and determining in a first memory, coincidence between a coordinate value `m` of the Hough transform object point and the coordinate values of the intersection, and storing the result of the determination as a first comparison result; comparing and determining in a fourth memory, coincidence between a value `-m` and the intersection coordinate values, and storing the result of the determination as a fourth comparison result; comparing and determining in a second memory, coincidence between a coordinate value `n` of the Hough transform object point and the intersection coordinate values, and storing the result of the determination as a second comparison result; comparing and determining in a third memory, coincidence between a value `-n` and the intersection coordinate values, and storing the result of the determination as a third comparison result; and voting to a first ballot box memory when coincidence is determined by and stored in said first memory, voting to a second ballot box memory when coincidence is determined by and stored in said second memory, voting to a third ballot box memory when coincidence is determined by and stored in said third memory, and voting to a fourth ballot box memory when coincidence is determined by and stored in said fourth memory, said voting being performed after the comparison results have been obtained for all pixels on the first and second scanning lines; and extracting a line which corresponds to a processor element from among said plurality of processor elements whose ballot box memory has a maximum number of votes.
- =xcosθ
Specification