Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Splitting Coordinates into 3 Subspaces To Resolve Unboundedness

I'm trying to implement the Cascaded Hough Transform (I have already implemented the 'normal' version.) but I'm having trouble understanding the following:

After applying HT on an image, I am left with straight lines in hough space. The Cascaded version of the HT requires me to split the hough space into 3 sub-spaces so that the problem of unbounded values is solved.

How can I go about doing this?

Here's a picture of how the hough space is split: alt text

In order to restore the boundedness of the parameter space while preserving the symmetric space duality, we will split the (a, b)-space into three bounded subspaces, as shown in the figure below. The first subspace also has coordinates a and b, but only for | a | <= 1 and | b | <= 1. If | a | > 1 and | b | <= | a | , the point (a, b) turns up in the second subspace, with coordinates 1/a and b/a. If, finally, | b | > 1 and | a | < | b |, we use a third subspace with coordinates 1/b and a/b.

Here is where I get seriously confused, suppose I have a line in the hough space. How is it going to be split up if it violates | a | <= 1 and | b | <= 1?

Do I simply go through all the pixels in the line and if the pixel in question has coordinates greater than | a | <= 1 and | b | <= 1, I plot it in the 2nd subspace?

I apologize if this sort of question is not welcomed on Stack Overlow - is there another site where I can ask questions about algorithms?

Source for the image and the above quote

like image 549
saad Avatar asked Nov 04 '10 06:11

saad


1 Answers

Suppose you have a point (x, y). Under the Hough transform as presented, it goes to the line

a x + b + y = 0

This corresponds to a different line in each of your subspace plots:

Subspace 1: a x + b + y = 0
Subspace 2: x + (b/a) + (1/a) y = 0
Subspace 2: (a/b) x + 1 + (1/b) y = 0

For example with the point (2, 1) you get the three lines:

Subspace 1: 2a + b + 1 = 0
Subspace 2: 2 + (b/a) + (1/a) = 0
Subspace 2: 2(a/b) + 1 + (1/b) = 0

Or putting into y = m x + c form:

Subspace 1: y = -2x - 1
Subspace 2: y = -x - 2
Subspace 2: y = -x/2 - 1
like image 132
wxffles Avatar answered Nov 19 '22 14:11

wxffles