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 fine but, time time false positives such happen.
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
Post a Comment