k
가장 근접한 n
SURF 서술자를 검색 중입니다. 설명자 행렬에 cv::flann::index
개체를 만들어 가장 가까운 이웃을 계산합니다.cv :: flann :: knnSearch가 반환하는 거리 단위는 무엇입니까?
cv::flann::Index index(desc,cv::flann::KDTreeIndexParams(4));//cv::Mat desc: holds all the descriptors
index.knnSearch(centralDescriptor,indicesNN,distsNN,10);
이 후 가장 가까운 이웃의 반환 된 거리를 중앙 피쳐 지점의 크기와 비교해야합니다. 이제 문제는 중심 특징점의 크기가 해당 cv::KeyPoint
에 저장되고 cv::KeyPoint::size
의 단위가 픽셀이므로 거리가 모두 부동 소수점이고 0보다 작은 픽셀입니다.
질문 : cv::flann::knnSearch
에 의해 반환 된 거리를 픽셀로 변환하거나 cv::KeyPoint::size
을 거리 단위로 변환하려면 어떻게해야합니까?
질문의 표현이 좋지 않아 죄송합니다. 제 영어 실력이 좋지 않습니다.
SURF 기술자가 정규화되어 있기 때문에 knnSearch가 정규화 된 거리를 반환하고 있다고 생각했습니다. 실제로 knnSearch 거리를 표시하면 0과 1 사이에 있습니다. 이제 정규화 된 거리와 정상 거리 또는 크기를 비교하는 방법이 궁금합니다. – user5008
"정상 거리 또는 크기"란 무엇을 의미하는지 정의하십시오. –
픽셀 단위와 동일합니다. SURF 키포인트의 크기는 픽셀 단위로 표시됩니다. 적어도 생각한 것입니다. – user5008