Feature2D::compute() 함수는 image 영상에서 추출된 keypoints 정보를 이용하여 각 특징점을 표현하는 기술자를 계산합니다. 만약 keypoints로 전달된 특징점에서 기술자를 계산할 수 없으면 해당 특징점은 제거됩니다. 계산된 각 특징점의 기술자는 모두 descriptors 행렬에 저장됩니다. descriptors 행렬의 행 개수는 특징점 개수와 같고, 열 개수는 사용하는 기술자 알고리즘에 의해 자동으로 결정됩니다. descriptors 행렬의 i번째 행에는 i번째 특징점을 표현하는 기술자가 저장됩니다.
만약 특징점 검출과 기술자 계산을 한꺼번에 수행하려면 Feature2D::detectAndCompute() 멤버 함수를 사용합니다.
virtual void Feature2D::detectAndCompute(InputArray image, InputArray mask, std::vector<KeyPoint>& keypoints, OutputArray descriptors, bool useProvidedKeypoints = false); |
|
• image |
입력 영상 |
• mask |
마스크 행렬. 마스크 행렬 원소가 0이 아닌 위치에서만 특징점을 검출합니다. |
• keypoints |
검출된 키포인트 정보 |
• descriptors |
계산된 기술자 행렬 |
• useProvidedKeypoints |
이 값이 true이면 keypoints 인자로 전달된 키포인트 정보를 이용하여 기술자를 계산합니다. |