Menu

opencv orb 예제

  • Uncategorized

SURF 및 ORB 각각에 대한 하나의 예제를 살펴보겠습니다(둘 다 서로 다른 거리 측정을 사용). 여기서는 두 이미지 간의 피처를 일치하는 방법에 대한 간단한 예제를 살펴보겠습니다. 이 경우 쿼리이미지와 trainImage가 있습니다. 우리는 쿼리를 찾기 위해 노력할 것입니다사진기능 일치를 사용하여 기차이미지. (이미지는 /샘플/c/box.png 및 /샘플/c/box_in_scene.png) 당신은 opencv 4.1.0 (리눅스)에서 SIFT 및 SURF 기능을 얻는 방법 예를 들어 cmake에 의해 컴파일 된 contrib와 opencv가 필요합니까? 나는 사용하는 동안이 오류가 발생 : cv2.xfeatures2d.SIFT_create () 당신은 여기에서 우리의 예제 비디오 및 데이터를 다운로드 할 수 있습니다. FLANN은 근사한 가까운 이웃을 위한 빠른 라이브러리를 의미합니다. 여기에는 큰 데이터 집합에서 가장 가까운 이웃 검색과 고차원 기능에 최적화된 알고리즘 컬렉션이 포함되어 있습니다. 대용량 데이터 집합의 경우 BFMatcher보다 더 빠르게 작동합니다. FLANN 기반 매치러를 사용하면 두 번째 예제를 볼 수 있습니다. 이번에는 BFMatcher.knnMatch()를 사용하여 k 베스트 매치를 얻을 것입니다. 이 예제에서는 d.Lowe가 논문에서 설명한 비율 테스트를 적용할 수 있도록 k=2를 적용합니다.

프레임 간의 일치 항목을 찾으려면 먼저 키포인트를 찾아야 합니다. 평소와 같이 함수 cv2를 사용하여 ORB 개체를 만들어야합니다. ORB() 또는 기능2d 공통 인터페이스 를 사용합니다. 여러 가지 선택적 매개 변수가 있습니다. 가장 유용한 것들은 유지될 최대 피처 수(기본적으로 500개), 점수유형은 해리스 점수 또는 FAST 점수가 기능의 순위를 지정하는지(기본적으로 해리스 점수) 등을 나타내는 nFeatures입니다. 또 다른 매개 변수인 WTA_K는 지향된 BRIEF 설명자의 각 요소를 생성하는 점 수를 결정합니다. 기본적으로 그것은 두, 즉 한 번에 두 점을 선택합니다. 이 경우 일치를 위해 NORM_HAMMING 거리가 사용됩니다.

WTA_K가 3 또는 4인 경우 BRIEF 설명기를 생성하는 데 3점 또는 4점이 걸리는 경우 일치하는 거리는 NORM_HAMMING2로 정의됩니다. BF 매치의 경우 먼저 cv2를 사용하여 BFMatcher 개체를 만들어야 합니다. BF매치거()를 입력합니다. 두 개의 선택적 매개 변수가 필요합니다. 첫 번째는 normType입니다. 사용할 거리 측정을 지정합니다. 기본적으로 cv2입니다. NORM_L2. 그것은 SIFT, 서핑 등 (cv2)에 좋다. NORM_L1도 있습니다). ORB, BRIEF, BRISK 등, cv2와 같은 이진 문자열 기반 설명자.

NORM_HAMMING을 사용해야 하며, 이는 해밍 거리를 측정으로 사용했습니다. ORB가 VTA_K == 3 또는 4, cv2를 사용하는 경우. NORM_HAMMING2를 사용해야 합니다. 이 비디오에 볼 수 있습니다 자세한 내용은 일치하는 기능의 기본 데모입니다 : ORB의 실행#How . 이 자습서에서는 각 프레임에서 약 1000개의 키포인트를 찾도록 설정되어 있습니다. BRIEF는 각 비트 피쳐의 분산이 크고 평균이 0.5에 가까우며 중요한 속성을 가짐을 가짐입니다. 그러나 키 포인트 방향을 따라 방향이 설정되면이 속성을 잃고 더 분산됩니다. 분산이 높으면 입력에 따라 다르게 응답하므로 기능이 더 차별화됩니다. 또 다른 바람직한 속성은 각 테스트가 결과에 기여할 것이기 때문에 테스트의 상관 관계가 없는 것입니다. 이러한 모든 문제를 해결하기 위해 ORB는 가능한 모든 이진 테스트 중에서 탐욕스러운 검색을 실행하여 분산이 높고 0.5에 가까운 의미를 가지며 상관 관계가 없는 테스트를 찾습니다.

결과를 rBRIEF라고 합니다. 이 자습서에서는 이미지에서 기능을 찾는 방법을 알아보겠습니다. 우리는 우리가 사용할 수있는 다른 algorythms을 thre있다 : 안녕하세요, 어떻게 비디오 내부의 사람에 이것을 적용 할 수 있습니까? . FLANN 기반 매치의 경우 사용할 알고리즘, 관련 매개 변수 등을 지정하는 두 개의 사전을 전달해야 합니다.

Search