I'm trying to test how radiusSearch work.I put 1 points as argument and expecting that in id vector it will be first, but it doesn't and sometimes it'snt even present in id vector, maybe this happens because of flann give approximate solution, but I use LinearIndexParams. And another question is how can I know how many points RadiusSearch return?

vector<cv::Point2f> scheme_pts;
//cv::flann::Index tree= cv::flann::Index(cv::Mat(scheme_pts).reshape(1),cv::flann::KDTreeIndexParams(1));
cv::flann::Index tree= cv::flann::Index(cv::Mat(scheme_pts).reshape(1),cv::flann::LinearIndexParams());
//cv::flann::Index tree= cv::flann::Index(cv::Mat(scheme_pts).reshape(1),cv::flann::AutotunedIndexParams(1,0,0,1));

vector<float> vec_f(2);
vector<int> id(scheme_pts.size()); //size?
vector<float> dists(scheme_pts.size());//size?
cv::flann::SearchParams params; //32 //precision? what if use LinearIndexParams?
for(int i=0;i<scheme_pts.size();++i)
{
vec_f[0]= scheme_pts[i].x;
vec_f[1]= scheme_pts[i].y;