opencv surf 예제

이번에는 BFMatcher.knnMatch()를 사용하여 k 베스트 매치를 얻을 것입니다. 이 예제에서는 d.Lowe가 논문에서 설명한 비율 테스트를 적용할 수 있도록 k=2를 적용합니다. 먼저 SURF 키 포인트와 설명기를 찾고 그리는 방법에 대한 간단한 데모를 볼 수 있습니다. 모든 예제는 SIFT와 동일하기 때문에 파이썬 터미널에 표시됩니다. SURF 및 ORB 각각에 대한 하나의 예제를 살펴보겠습니다(둘 다 서로 다른 거리 측정을 사용). 예를 들어 cmake에서 컴파일한 contrib가 있는 opencv가 있어야 합니다(opencv 라이브러리가 시스템 경로에 제대로 연결되지 않은 경우 작동하지 않을 수 있음) FLANN은 근사한 가까운 이웃에 대한 빠른 라이브러리를 의미합니다. 여기에는 큰 데이터 집합에서 가장 가까운 이웃 검색과 고차원 기능에 최적화된 알고리즘 컬렉션이 포함되어 있습니다. 대용량 데이터 집합의 경우 BFMatcher보다 더 빠르게 작동합니다. FLANN 기반 매치러를 사용하면 두 번째 예제를 볼 수 있습니다. http://opencv.itseez.com/doc/tutorials/introduction/display_image/display_image.html#display-image 지금까지 우리는 메모리에 저장된 모든 좋은 일치를 가지고있다. 실험적으로 배운 한 가지는 7개 이상의 good_match가 있을 때 개체가 발견되었다고 가정하고 원하는 대로 수행할 수 있다는 것입니다. 그리고 다시 억제 값은 당신을 위해 변경 될 수 있습니다, 그래서 당신은 당신의 자신에 그것을 체크 아웃해야.

문제는 내 코드는 그 샘플 코드를 기반으로 꽤 많이: http://opencv.itseez.com/doc/tutorials/features2d/feature_homography/feature_homography.html#feature-homography opencv 4.1.0 (리눅스)에서 SIFT 및 SURF 기능을 얻는 방법? cv2.xfeatures2d.SIFT_create() 여기, 두 이미지 간의 피처를 일치하는 방법에 대한 간단한 예제를 볼 수 있습니다. 이 경우 쿼리이미지와 trainImage가 있습니다. 우리는 쿼리를 찾기 위해 노력할 것입니다사진기능 일치를 사용하여 기차이미지. (이미지는 /샘플/c/box.png 및 /샘플/c/box_in_scene.png) 우리는 각 spefic algorythm의 키 포인트와 설명자. 키포인트는 기능이 검색된 위치이며 설명자는 해당 기능을 설명하는 숫자가 포함된 배열입니다. 이제 방향을 찾지 않도록 U-SURF를 적용하려고합니다. 우선 키포인트를 추출하고 설명기를 계산하려고 합니다. 이렇게 하려면 키포인트의 벡터와 설명자의 행렬을 선언합니다. 보다 독특함을 위해 SURF 기능 설명자는 확장된 128차원 버전을 가지고 있습니다.