c++ - 2D point cloud to shape contours for circle detection -


i have lrf returns 2d point cloud need use detect circle (well, semi-circle visible @ point in time). using houghcircles opencv after canny , gaussianblur returns circle hours of playing values, still returns false positives. here's section of code detects circles. image image of type mat created lrf input.

cv::mat destination; cv::canny(image, destination, 200, 20); cv::gaussianblur(destination, destination, size(7, 7), 2, 2 ); vector<vec3f> circles; cv::houghcircles(destination, circles, cv_hough_gradient, 1, 100, 200, 15, 10, 20); 

it can assumed there's 1 real circle in point cloud. in of cases works finetrue positive but, time time false positives such happen.false positive

so far, managed reduce number of circles @ point 1 increasing mindist parameter of houghcircles bigger image size still leads false positives doesn't detect actual circle. think these false positives arise noise in lrf input. there way can convert point cloud image image lines instead of points? in case there's circle detected in place there should lines, know it's false positive. or perhaps has better method i've been missing along.

any input appreciated.


Comments