1.knnmatch() 方法,而k=1,返回一對匹配子,這個方法只返回最接近的距離的一對匹配子,當有足夠多的匹配子的時候,這種方法通常能夠產生最好的結果和最小的誤差。
2.dmatch類
struct cv_exports_w_****** dmatch
//1 cv_wrap dmatch
(int _queryidx,
int _trainidx,
float _distance )
:queryidx
(_queryidx)
,trainidx
(_trainidx)
,imgidx(-
1),distance
(_distance)
//2 cv_wrap dmatch
(int _queryidx,
int _trainidx,
int _imgidx,
float _distance )
:queryidx
(_queryidx)
,trainidx
(_trainidx)
,imgidx
(_imgidx)
,distance
(_distance)
//3 cv_prop_rw int queryidx;
// query descriptor index
cv_prop_rw int trainidx;
// train descriptor index
cv_prop_rw int imgidx;
// train image index
cv_prop_rw float distance;
// less is better
bool
operator
<
(const dmatch &m )
const
};
1、2、3不用說,是三個建構函式。
接著, int queryidx –>是測試影象的特徵點描述符(descriptor)的下標,同時也是描述符對應特徵點(keypoint)的下標。
int trainidx –> 是樣本影象的特徵點描述符的下標,同樣也是相應的特徵點的下標。
int imgidx –>當樣本是多張影象的話有用。
float distance –>代表這一對匹配的特徵點描述符(本質是向量)的歐氏距離,數值越小也就說明兩個特徵點越相像。
最後, 也就是乙個小於操作符的過載,用於比較和排序。 比較的是上述的distance,當然是越小越好。
特徵點匹配
一 特徵點 角點 匹配 影象匹配能夠應用的場合非常多,如目標跟蹤,檢測,識別,影象拼接等,而角點匹配最核心的技術就要屬角點匹配了,所謂角點匹配是指尋找兩幅影象之間的特徵畫素點的對應關係,從而確定兩幅影象的位置關係。角點匹配可以分為以下四個步驟 1 提取檢測子 在兩張待匹配的影象中尋找那些最容易識別的...
Opencv之特徵匹配
import cv2 import numpy as np import matplotlib.pyplot as plt matplotlib inline def cv show name,img cv2.imshow name,img cv2.waitkey 0 cv2.destroyallw...
Opencv學習筆記(三) 特徵點匹配
在我們提取到帶特徵點和得到特徵描述符後,接下來的工作就是將這些個特徵點進行匹配。一 特徵點匹配位於feature2d的模組中所以在使用的時候應該在標頭檔案中加入 include features2d features2d.hpp 在這個模組中用有三個類 它們的繼承關係如下 對於特徵點匹配有兩種方法 ...