opencv의 feature matching 방식에는 두 가지가 있다.
brute force matcher, FLANN based Matcher
BF Matcher
두 이미지간 features 비교
DMatch
distance: 두 descriptor 간 거리
trainIdx: train img의 descriptor 인덱스
queryIdx: query img(비교 대상)의 descriptor 인덱스
ImgIdx: train img의 인덱스
cv2.warpPerspective()
이미지를 기하학적으로 변환시키는 함수이다.
warpPerspective(input img, output img, 변환행렬, 변환될 이미지 사이즈)
일반적인 compute homography와 compute homography with RANSAC의 차이점?
기본적으로 두 방법 모두 이미지간의 변환을 찾는 데 이용된다. 한 이미지의 점들을 다른 이미지의 대응하는 점들로 매핑하는 homography를 계산한다.
일반적인 compute homography
모든 대응점 쌍을 이용해 H를 계산한다. 모든 대응점 쌍이 정확하다고 가정한다.
단점: 잘못된 대응점이나 노이즈가 포함된다면 H의 정확도가 매우 떨어지므로, outliers에 매우 민감하다.
compute homography with RANSAC