opencv orb 예제

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

평소와 같이 함수 cv2를 사용하여 ORB 개체를 만들어야합니다. ORB() 또는 기능2d 공통 인터페이스 를 사용합니다. 여러 가지 선택적 매개 변수가 있습니다. 가장 유용한 것들은 유지될 최대 피처 수(기본적으로 500개), 점수유형은 해리스 점수 또는 FAST 점수가 기능의 순위를 지정하는지(기본적으로 해리스 점수) 등을 나타내는 nFeatures입니다. 또 다른 매개 변수인 WTA_K는 지향된 BRIEF 설명자의 각 요소를 생성하는 점 수를 결정합니다. 기본적으로 그것은 두, 즉 한 번에 두 점을 선택합니다. 이 경우 일치를 위해 NORM_HAMMING 거리가 사용됩니다. WTA_K가 3 또는 4인 경우 BRIEF 설명기를 생성하는 데 3점 또는 4점이 걸리는 경우 일치하는 거리는 NORM_HAMMING2로 정의됩니다. 패치의 강도 가중치 중심을 중앙에 위치한 모서리를 계산합니다. 이 모퉁이 점에서 중심까지의 벡터 방향은 방향을 제공합니다. 회전 불변을 개선하기 위해 모멘트는 패치 크기의 반지름의 원형 영역에 있어야 하는 x 및 y로 계산됩니다. 다음으로 거리 측정 cv2를 사용하여 BFMatcher 오브젝트를 만듭니다.

NORM_HAMMING (ORB를 사용하기 때문에) 및 크로스 체크는 더 나은 결과를 위해 켜져 있습니다. 그런 다음 Matcher.match() 메서드를 사용하여 두 이미지에서 최상의 일치 항목을 얻습니다. 우리는 (낮은 거리에서) 최고의 일치가 전면에 올 수 있도록 거리의 오름차순으로 정렬합니다. 그런 다음 처음 10경기만 그립니다(가시성을 위해서만). 당신은 당신이 원하는대로 증가 할 수 있습니다) 이 튜토리얼에서 우리는 비디오 프레임 사이의 일치를 찾아 개체의 움직임을 추적하기 위해 그들을 사용하여 AKAZE 및 ORB 로컬 기능을 비교합니다. OpenCV 애호가로서 ORB에서 가장 중요한 것은 «OpenCV Labs»에서 나왔다는 것입니다. 이 알고리즘은 에단 루블리, 빈센트 라보, 커트 코놀리지, 게리 R. 브래드스키가 논문 ORB에서 제기한 2011년 SIFT 또는 SURF의 효율적인 대안입니다. 제목에서 말했듯이, 그것은 SIFT와 SURF 의 계산 비용, 매칭 성능 및 주로 특허에 대한 좋은 대안입니다. 예, SIFT와 SURF는 특허를 받았으며 그 사용에 대해 지불해야합니다.

그러나 ORB는 !!! 이제 설명자용으로 ORB는 BRIEF 설명자(BRIEF 설명자)를 사용합니다. 그러나 우리는 이미 BRIEF가 회전으로 저조한 성능을 보이는 것을 보았습니다. 따라서 ORB가 하는 일은 키 포인트의 방향에 따라 BRIEF를 «조종»하는 것입니다. 위치의 이진 테스트 의 모든 피쳐 집합에 대해 이러한 픽셀의 좌표를 포함하는 행렬을 정의합니다. 그런 다음 패치의 방향을 사용하여 회전 행렬을 발견하고 회전하여 스티어링(회전) 버전을 얻습니다. 나사 나 너트 볼트와 같은 기계 부품에서 작동 할 수 있습니까? 다른 모든 기능이 동일한 경우 길이 차이를 감지합니까? .

  • Información

    • Últimas Entradas

      가우스 법칙 예제

      여기에서 예제 비디오 및 데이터를 다운로드할 수 있습니다.…

      피벗 예제

      여기에서 예제 비디오 및 데이터를 다운로드할 수 있습니다.…

      페르미 추정 예제

      여기에서 예제 비디오 및 데이터를 다운로드할 수 있습니다.…