1 | initial version |
That SO question is pretty old. If you look at the link to the documentation, you can see that the GeneralizedHough class is a base class for two implementations, the Ballard and the Guil. Because it's a base class, you can case a pointer from either sub-class into it and use it the same in your code, as long as you only use functions in the base class. That reduces duplication of code if you want to switch back and forth between them. If you're just using one, just have a pointer to that class and don't worry about it.
The Ballard says it detects position only, without translation and rotation. I'm not actually sure what that means, "without translation". It may mean scale. Either way, this is the fastest, and probably what you want. Your round things there are rotation invariant, and without the rotation and scale, it's much faster.
The Guil transform does do rotation and scale, so it's useful in more situations, but it's much slower because it has two more dimensions to search.