GSt*_*tav 5 python opencv sift feature-detection
我正在使用 Python 和 OpenCV 3.0,我正在尝试评估两个图像的 SIFT 描述符。更具体地说,我对重复率感兴趣。在 C++ 中有这个函数用于执行评估:
cv::evaluateFeatureDetector(img_1c, img_2c, h12, &key_points_1, &key_points_2, repeatability, corrCounter);
Run Code Online (Sandbox Code Playgroud)
但是,我还没有在 Python 中找到任何实现,我也不太明白如何(以及是否)可以使用此函数。有没有其他方法可以计算python中的重复率?
这是语法:
void cv::evaluateFeatureDetector ( const Mat & img1,
const Mat & img2,
const Mat & H1to2,
std::vector< KeyPoint > * keypoints1,
std::vector< KeyPoint > * keypoints2,
float & repeatability,
int & correspCount,
const Ptr< FeatureDetector > & fdetector = Ptr< FeatureDetector >()
)
Run Code Online (Sandbox Code Playgroud)
img1 和 img2 是要匹配的两个图像,H1to2 是单应性矩阵,可以这样计算:
H1to2 = cv::findHomography( std::vector<cv::Point2f> srcPoints , std::vector<cv::Point2f> refPoints, CV_RANSAC, 1 );
Run Code Online (Sandbox Code Playgroud)
和srcPoints 是refPoints进行特征匹配后得到的。
可重复性和 correspCount 是函数的输出。