Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Hough Line2D/Ray2D detection #2

Open
ShaharMS opened this issue Jul 27, 2022 · 7 comments
Open

Implement Hough Line2D/Ray2D detection #2

ShaharMS opened this issue Jul 27, 2022 · 7 comments
Labels
Enhancement ✨ New feature, or request for a change/new feature help wanted 🙏 Extra attention/help is needed

Comments

@ShaharMS
Copy link
Owner

the voting part is unimplemented for now because i couldn't figure it out 🙃

this is an important part of the library, and needs to be implemented asap

@ShaharMS ShaharMS added the help wanted 🙏 Extra attention/help is needed label Jul 27, 2022
@ShaharMS ShaharMS changed the title houghLineDetection Doesn't Report Lines Detected Implement Hough Line2D/Ray2D detection Oct 19, 2022
@ShaharMS ShaharMS added this to the Feature Detection milestone Oct 19, 2022
@ShaharMS ShaharMS added the Enhancement ✨ New feature, or request for a change/new feature label Oct 24, 2022
@ShaharMS
Copy link
Owner Author

ShaharMS commented Jan 3, 2023

Progress: a simple version of the hough transform works pretty nicely, might need some tweaking, but that's still progress :)

@ShaharMS
Copy link
Owner Author

Another progress note: hough transform works, but needs to filter garbage rays and turn them into line segments. Will probably try implementing a RANSAC-style filter for that.

@Wither362
Copy link
Contributor

Another progress note: hough transform works, but needs to filter garbage rays and turn them into line segments. Will probably try implementing a RANSAC-style filter for that.

RANSAC-style filter? Could you tell me what does it do?

@ShaharMS
Copy link
Owner Author

RANSAC is a method of detecting patterns within a data set, by using random samples from the set, and searching for a predetermined wanted pattern

RANSAC implementation here is:

  • taking a ray, selecting n random points on it
  • checking along the ray of this point is withthin a line, if so, add a line segment to an array
  • repeat that t times with different randomization of n points until we find the set of points whithin an array, and return these lines for the array
  • repeat for the rest of the detected rays

@ShaharMS
Copy link
Owner Author

Actually, seems like I misunderstood some stuff, RANSAC is probably not the answer here. A better way is probably just going over each ray and scanning from lines, beginning to end

@Wither362
Copy link
Contributor

RANSAC is a method of detecting patterns within a data set, by using random samples from the set, and searching for a predetermined wanted pattern

RANSAC implementation here is:

  • taking a ray, selecting n random points on it
  • checking along the ray of this point is withthin a line, if so, add a line segment to an array
  • repeat that t times with different randomization of n points until we find the set of points whithin an array, and return these lines for the array
  • repeat for the rest of the detected rays

Pretty interesting…

@ShaharMS
Copy link
Owner Author

ShaharMS commented Jun 3, 2024

Impelemented - will close this soon🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement ✨ New feature, or request for a change/new feature help wanted 🙏 Extra attention/help is needed
Projects
None yet
Development

No branches or pull requests

2 participants